Enumerable.Single的错误实现?

我通过reflection器在Enumerable.cs中遇到了这个实现。 public static TSource Single<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate) { //check parameters TSource local = default(TSource); long num = 0L; foreach (TSource local2 in source) { if (predicate(local2)) { local = local2; num += 1L; //I think they should do something here like: //if (num >= 2L) throw Error.MoreThanOneMatch(); //no necessary to continue } […]

处理杂乱的日子

我希望你们不要以为我是在寻求关系方面的build议。 我不得不提供调查回复者指定事件发生时间的能力。 什么结果是一个可怕的混乱的string,我真的不知道该怎么办。 除了手工录制之外。 这是一个简短的样本,数千: c(“5月2日/ 12日”,“早上9:45”,“11:00 AM AST”,“4月27日/ 12:00 AST”, “上午11:40 AST”,“2011年4月25日”,“2011年4月12日/ 8:44”,“2011年4月12日/上午8:36”, “2011年4月12日/ 8:30”,“2011年4月12日/ 8:18”,“2011年4月12日/上午8:12”, “2011年4月11日/下午5:57”,“2011年4月11日/下午5:49”,“2011年4月11日/下午5:42”, “2011年4月11日/下午5:36”,“2011年4月11日/ 5:27”,“4月5日上午11:26”, “8:50”,“4月4日12:45”,“4月4日上午10时”,“4月4日10时左右”, “2011年3月18日上午9时33分”,“2011年3月18日上午9时27分”,“DF”,“Fg”,“12:16”, “9:50”,“2011年2月8日/ 12点20分”,“2011年2月4日上午8点34分”,“2011年1月31日下午2点50分”, “2011年1月31日下午2点45分”,“2011年1月31日下午2点38分”,“2011年1月31日下午2点26分”, “11h09”,“11:00 am”,“1h02 pm”,“10h03”,“2h10”,“2011年1月13日上午9:50范”, “2011年1月12日”,“2011年1月12日下午3:59”,“Jan 12 14:19 PM”, “2011年1月12日下午1时35分”,“2011年1月12日下午1时28分”,“1h36”,“9h15”, “9h09”,“8h51”,“8h45”,“8h35”,“1h12 pm”,“12h59”,“11h52 am”, “10h45”,“15h55”,“Dec 31,10 11:11 am”,“Dec 31,10 10:15 am”, “2010年12月30日下午12点32分”,“2010年12月30日下午12点18分”,“上午9点16分”,“上午11点16分”, “11h12”,“9h29 am”,“11h38”,“2010年12月16日”,“2010年12月16日” “2010年12月16日”,“2010年12月15日”,“2010年12月14日”,“12月14日11:38”, “12月14日11:35”,“12月14日11:25”,“2010年12月13日”,“12月10日下午1时38分”, “12月10日下午1点26分”,“12月10日下午1点20分”,“12月10日下午1点12分”,“2010年12月9日” “上午11点10分”,“上午10点59分”,“上午10点50分”,“12月7日星期二9:45乘车时间”, “2010年12月3日下午12时30分”,“2010年12月3日下午12时20分”,“2010年12月3日下午12时10分”, “2010年11月30日4.02pm”,“2010年11月30日”,“11月29日120pm” “2010年11月29日11:27”,“2010年11月29日10时12分”,“11月26日10时18分18秒”, “10:56 am”,“Nov […]

打破项目的第一个用户故事的任务

我从头开始一个新的项目,并写了用户存储来描述给定的用户将如何与系统进行交互。 但是,我很难理解如何将第一个用户故事分解成任务,而没有第一个故事成为史诗。 例如,如果我正在build造一辆汽车,并且第一个用户故事会说“像一个司机一样,我希望能够改变运动的方向,这样我就不会碰到什么东西”,这意味着用户接口(方向盘),还有运动(车轮)以及将它们连接在一起的所有东西(车轴,车架,联动装置等)。 最终,第一个用户故事似乎总是代表了大约40%的项目,因为它隐含了太多的底层架构。 你如何分解一个新的项目的用户故事,使第一个不成为代表你的整个基础架构的史诗?

突出显示Sublime Text 2中的语法错误

在崇高的文本2,当我犯了一个像忘记一个错误; 或者添加一个额外的closures或打开标签,没有突出显示,告诉我,我犯了一个错误。 只有在运行代码之后,我才知道发生了错误。 对于Sublime Text 2来说这是正常的还是仅仅是我? 如果这是正常的,有没有扩展来解决这个问题?

存储过程中需要“SET NOCOUNT OFF”吗?

我有许多程序,已经set nocount on 。 是否有必要在存储过程结束时closures它? 例如: create procedure DummyProc as begin set nocount on … set nocount off end

像Facebook应用程序的侧面导航菜单

我正在寻找类似于新的Facebook应用程序为Android / ios移动应用程序实施的内容。 我指的是用手指移动打开的侧面导航菜单。 像这样的东西 有什么图书馆或例子可以检查吗? 非常感谢你。

genericsNOT约束在T:!IEnumerable

按照标题,是否有可能在c#4中声明types – 否定约束?

asynchronous编程与线程有什么不同?

我一直在阅读一些async文章: http : //www.asp.net/web-forms/tutorials/aspnet-45/using-asynchronous-methods-in-aspnet-45和作者说: 当你在做asynchronous工作时,你并不总是使用一个线程。 例如,当您发出asynchronousWeb服务请求时,ASP.NET将不会在async方法调用和await之间使用任何线程。 所以我想了解的是,如果我们不使用任何线程来执行并发,它将如何变成async ? 这是什么意思“你不总是使用一个线程”? 让我首先解释一下我所知道的有关使用线程的知识(一个简单的例子,当然,除了UI和Worker方法之外,线程可以用于不同的情况) 你有UI线程input输出。 您可以在UI线程中处理事情,但它会使UI无响应。 因此,让我们说我们有一个stream相关的操作,我们需要下载一些数据。 而且我们还允许用户在下载时做其他事情。 我们创build一个新的工作线程,下载文件并更改进度条。 一旦完成,就没有什么可做的,所以线程被杀死了。 我们继续从UI线程。 我们可以根据情况等待UI线程中的工作线程,但在此之前,在下载文件的同时,我们可以使用UI线程做其他事情,然后等待工作线程。 async编程不一样吗? 如果不是,有什么区别? 我读了async编程使用ThreadPool从拉线虽然。

对于string使用locals()和format()方法:是否有任何警告?

使用以下模式有什么缺点,警告或不良做法警告? def buildString(user, name = 'john', age=22): userId = user.getUserId() return "Name: {name}, age: {age}, userid:{userId}".format(**locals()) 我有一个非常重复的string生成代码来写,并试图使用这个,但有关使用locals()使我感到不舒服。 这是否有任何意外行为的危险? 编辑:上下文 我发现自己经常写这样的东西: "{name} {age} {userId} {etc}…".format(name=name, age=age, userId=userId, etc=etc)

你将如何在C ++ 11中实现自己的读写器locking?

我有一套数据结构,需要使用读写器锁保护。 我知道boost :: shared_lock,但我想有一个使用std :: mutex,std :: condition_variable和/或std :: atomic的自定义实现,以便我可以更好地理解它是如何工作的(并稍后调整它) 。 每个数据结构(可移动,但不可复制)将从一个称为Commons的类inheritance,该类封装了locking。 我想公共界面看起来像这样: class Commons { public: void read_lock(); bool try_read_lock(); void read_unlock(); void write_lock(); bool try_write_lock(); void write_unlock(); }; …所以它可以被一些公开的inheritance: class DataStructure : public Commons {}; 我正在写科学的代码,通常可以避免数据竞赛; 这个锁主要是防止我以后可能会犯的错误。 因此我的优先级是低的读取开销,所以我不会妨碍正确运行的程序太多。 每个线程都可能运行在自己的CPU内核上。 你能告诉我(伪代码是好的)读者/写作者锁? 我现在所拥有的应该是防止作家饥饿的变种。 到目前为止,我的主要问题是read_lock在检查read是否安全以实际递增读取器计数之间的差距,之后write_lock知道要等待。 void Commons::write_lock() { write_mutex.lock(); reading_mode.store(false); while(readers.load() > 0) {} } void […]