【发布时间】:2020-09-17 15:32:33
【问题描述】:
我不明白引擎盖下发生了什么。 我有一个简单的字符串:
var aux = "Hello";
如果我跑步:
aux.Any();
它返回 True 。执行的 Any() 在 System.Core dll 中:
在后台是否有强制转换,将字符串转换为可枚举的字符并 Any() 验证列表是否为空或...?
提前致谢!
【问题讨论】:
-
基本上:是的。
-
在字符串被转换为字符的可枚举的情况下是否有强制转换字符串是字符的可枚举:它实现@ 987654326@.
-
查看 msdn IEnumerable 示例:docs.microsoft.com/en-us/dotnet/api/…
-
@Alejandro
str.Any(char.IsUpper)让你觉得奇怪吗?如果不是,为什么str.Any()? -
即使字符串是
IEnumerable<char>,也有更好的方法来检查字符串是否为空——只需检查它的长度,或者调用string.IsNullOrEmpty,甚至调用string.IsNullOrWhiteSpace。
标签: c# linq ienumerable