Any(TSource) 方法 (IEnumerable(TSource))
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

Enumerable.Any<TSource> 方法 (IEnumerable<TSource>)

 

确定序列是否包含任何元素。

命名空间:   System.Linq
程序集:  System.Core(System.Core.dll 中)

public static bool Any<TSource>(
	this IEnumerable<TSource> source
)

参数

source

要检查是否为空的 IEnumerable<T>

返回值

Type: System.Boolean

如果源序列包含任何元素,则为 true;否则为 false

类型参数

TSource

source 中的元素的类型。

Exception Condition
ArgumentNullException

sourcenull

System_CAPS_note注意

此方法不返回集合的任何一个元素。而是确定集合是否包含任何元素。

一旦可确定结果,则停止枚举 source

在 Visual Basic 查询表达式语法中,Aggregate Into Any() 子句转换为 Any 的一个调用。

下面的代码示例演示如何使用 Any<TSource> 确定序列是否包含任何元素。

List<int> numbers = new List<int> { 1, 2 };
bool hasElements = numbers.Any();

Console.WriteLine("The list {0} empty.",
    hasElements ? "is not" : "is");

// This code produces the following output:
//
// The list is not empty. 

Any<TSource>(IEnumerable<TSource>) 方法返回的布尔值通常用于 where 子句(Visual Basic 中为 Where 子句)的谓词中,或用在对 Where<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 方法的直接调用中。下面的示例演示 Any 方法的这一用法。

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}
class Person
{
    public string LastName { get; set; }
    public Pet[] Pets { get; set; }
}

public static void AnyEx2()
{
    List<Person> people = new List<Person>
        { new Person { LastName = "Haas",
                       Pets = new Pet[] { new Pet { Name="Barley", Age=10 },
                                          new Pet { Name="Boots", Age=14 },
                                          new Pet { Name="Whiskers", Age=6 }}},
          new Person { LastName = "Fakhouri",
                       Pets = new Pet[] { new Pet { Name = "Snowball", Age = 1}}},
          new Person { LastName = "Antebi",
                       Pets = new Pet[] { }},
          new Person { LastName = "Philips",
                       Pets = new Pet[] { new Pet { Name = "Sweetie", Age = 2},
                                          new Pet { Name = "Rover", Age = 13}} }
        };

    // Determine which people have a non-empty Pet array.
    IEnumerable<string> names = from person in people
                                where person.Pets.Any()
                                select person.LastName;

    foreach (string name in names)
    {
        Console.WriteLine(name);
    }

    /* This code produces the following output:

       Haas
       Fakhouri
       Philips
    */
}

Universal Windows Platform
4.5 后可用
.NET Framework
3.5 后可用
Portable Class Library
受以下版本支持:portable .NET platforms
Silverlight
2.0 后可用
Windows Phone Silverlight
7.0 后可用
Windows Phone
8.1 后可用
返回页首
显示:
© 2016 Microsoft