All方法在集合为空时,为什么会返回true?

问题描述

List<int>l2=newList<int>();boolret2=l2.All(t=>t>10);Console.WriteLine(ret2);这段代码ret2等于true,没道理啊,直观理解应该发牛false啊。

解决方案

解决方案二:
内部代码应该是<br/>bool&nbsp;istrue=true;<br/>foreach(){<br/>if(false){&nbsp;istrue=false;break;}<br/>}<br/>所以没值时就返回true了
解决方案三:
参考MSDN解释:https://msdn.microsoft.com/en-us/library/bb548541.aspx引用

ReturnValueType:System.Booleantrueifeveryelementofthesourcesequencepassesthetestinthespecifiedpredicate,orifthesequenceisempty;otherwise,false.

解决方案四:
如果源序列中的每一个元素都通过指定的测试或序列是空的,则是真的;否则返回假。//返回结果://trueifeveryelementofthesourcesequencepassesthetestinthespecified//predicate,orifthesequenceisempty;otherwise,false.
解决方案五:
”直观理解“也很符合逻辑啊。除非你没有学过逻辑学。凡是“全部、所有、都.....”都是浮云,这个世界上只有“存在”。要想否定一个说大话的“所有、全部、都......”的说法,你只要举出一个反例即可。逻辑学本来就是这样定义的。如果你认为“直观理解”应该为false,那么说明你想多了,反而没想明白。
解决方案六:
你随便找一本逻辑教材(不一定跟编程有关系),看看全称量词跟存在量词的说明。全称量词跟存在量词是相对的,凡是不能举出一个存在,我们就承认全称量词成立。逻辑不是扯是非,逻辑只是一种语言计算工具。如果有人说“番茄是有毒的”,只要没有第一个人吃番茄,那么这就是成立的。逻辑不是扯是非而只是一种计算工具。所以这个all绝不应该返回false。
解决方案七:
如果你觉得自己经常被自己骗,那么就尽量养成一种好习惯,就是从来不轻易用全称量词。一般来说搞技术的人,不用全称量词。例如他会写varquery1=l2.Any(t=>t>10);varquery2=!I2.Any(t=>t>10);

这里query1与query2正好相互对立。你可以看一些不论是科学家还是政治家的演讲,凡是真正解决问题的人,都会用!Any(...)来说方法论,几乎从来不胡说什么“全部、所有、都....”这类话。喜欢说这些话的人,一种是刚毕业的小孩子,一种是搞销售的,另外一种就是国内的一些“政治经济学”家。

时间: 2024-09-16 02:22:31

All方法在集合为空时,为什么会返回true?的相关文章

宽带连接错误解决方法大集合

上网最烦的是什么?网速慢,广告,中病毒等等,其中最让人感到烦恼的莫过于那些莫名其妙弹出的"宽带连接错误XXX"的弹窗警告了,经常在这种时候你是上不了网的,身边有手机还好,刷着流量去百度找帖子解决,身边没手机怎么办?打电信或者联通客服?有一点必须确认的是他们即使答应让人来修复也一定不是现在. 今天软媒小编整理编排了一些关于691.623.678...宽带连接错误解决方法大集合,这些解决方法来源于网络,望知晓出处者不吝告知,感激不尽.希望或多或少能帮助到你. 宽带连接错误691(由于域上的

excel单元格为空时怎么显示我们的警示标志防止漏掉数据

  在使用excel编辑数据的时候有些单元格是必须要填写的,所以为了防止漏填,或者忘记填写的情况.我们通常都会给这些单元格设置警示的标志,一般情况我们都是将其填充颜色以提醒我们.那么excel单元格为空时怎么显示我们的警示标志防止漏掉数据?下面小编就为大家介绍一下,一起来看看吧! 设置的流程 第一步打开我们所要进行设置修改的excel表格. 第二步我们可以看到打开的表格的各个单元格都是属于必须填写的部分,否则一旦钱的数目打错了,或者打到了别人的账户上是一件十分麻烦的事.小编就将所有的必须填写的单

rest-springmvc Rest风格参数可能为空时怎么解决

问题描述 springmvc Rest风格参数可能为空时怎么解决 比如有如下的Action方法: @RequestMapping(""/test/{p1}/{p2}"") public String testRest(@RequestParam String p1 @RequestParam String p2){ System.out.println(""p1:""+p1); System.out.println("

datetime 空值-DateTime需要为空时,如何插入值?

问题描述 DateTime需要为空时,如何插入值? SQL Server中,DateTime可以为null,而C#中不可以. 属性类型我写为DateTime?,有添加和修改功能需要用到这个字段 在Ajax层获取页面数据时,我加了判断,如果获得的字符串长度为0,则值为null.否则获取字符串并转成DateTime类型. 在数据访问层中,我判断,如果获得的属性值为null那么在SQL语句中不添加此属性的参数,否则添加. 但是在运行时,不管有没有值,都会提示找不到方法:"Void Model层命名空间

JQuery easy ui验证在文本框为空时不会触发验证事件,求解决!!!

问题描述 JQuery easy ui验证在文本框为空时不会触发验证事件,求解决!!! JQuery easy ui验证在文本框为空时不会触发验证事件, 用户组: 这里我用JQuery easy ui 生成了一个下拉框,为空时文本框不会触发验证事件 这里是验证的扩展代码: $.extend($.fn.validatebox.defaults.rules, { valiEmp: { //验证用户Id是否有效 validator: function (value, param) { var bl =

listview-当数据库为空的时候,用lisView动态加载数据空时出现的闪退问题

问题描述 当数据库为空的时候,用lisView动态加载数据空时出现的闪退问题 当我用ListView动态加载数据库中的文件时,当数据库中确实存在文件时,一切正常,能够正常显示. 但是当数据库为空或者吗,没有新建数据库的时候,用ListView加载时,就会出现闪退的问题. 求大神支招,怎么解决.附上我的获取数据库中数据的方法 ```private ArrayList getData(){ SQLiteDatabase db =openOrCreateDatabase("text.db",

null 空字符串-值为空时是插入空值还是空字符串比较好

问题描述 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好

idea-Idea插件开发 获取焦点所在方法参数,类似/**+回车时所获得的

问题描述 Idea插件开发 获取焦点所在方法参数,类似/**+回车时所获得的 10C idea插件开发,希望能够像 (/**+回车) 那样获取获取方法的参数,参数类型和返回类型 解决方案 http://www.360doc.com/content/14/1107/13/16650130_423318501.shtml

listview为空时,显示字符串

使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要 <ListView android:id="@id/android:list".../> <TextView android:id="@id/android:empty.../> 当列表为空时就会自动显示TextView  但是,如果继承Activity的话,想出现上面的效果,就需要手动