“” .All(char.IsNumber)返回True

时间:2018-11-26 05:39:59

标签: c# linq

为什么"".All(char.IsNumber)返回true? 根据方法摘要,All()方法:

  

确定序列中的所有元素是否都满足条件。

这似乎不是很准确,因为序列中的任何元素都不满足条件,原因是没有任何元素开头。

1 个答案:

答案 0 :(得分:5)

以这种方式记录-MSDN, in the Returns section(如Loocid在评论中指出的那样):

  

true,如果源序列的每个元素都通过指定谓词中的测试,或者序列为空;否则为false

之所以被定义为执行此操作,是因为对空序列上All的语义的这种定义最终源自数学逻辑,其中for-all量词以这种方式在空集合上起作用。在关于数学SE的以下问题的答案中对此进行了解释:Why is predicate “all” as in all(SET) true if the SET is empty?