字符串上的Any

问题描述

我不明白这到底是怎么回事。 我有一个简单的字符串:

 var aux = "Hello";

如果我运行:

aux.Any();

它返回 True Any()执行在System.Core dll中:

enter image description here

引擎盖下是否有演员表,将字符串转换为Enumerable chars, Any()验证列表是否为空或...?

谢谢!

解决方法

String的定义始于

public sealed class String : IEnumerable<char>,IEnumerable,ICloneable,IComparable,IComparable<string?>,IConvertible,IEquatable<string>
{ ...
,

String实现接口IEnumerableIEnumerable<Char>。还有

您可以使用C#编写LINQ查询,以获取支持IEnumerable或通用IEnumerable接口的任何对象集合。

(来自this article

之所以这样工作是因为LINQ只是这些接口的extension methods