Enumerable.Any Enumerable.Any Enumerable.Any Enumerable.Any Method

定義

シーケンスの要素が存在するか、または条件を満たすかどうかを判断します。Determines whether any element of a sequence exists or satisfies a condition.

オーバーロード

Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>)

シーケンスに要素が含まれているかどうかを判断します。Determines whether a sequence contains any elements.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

シーケンスの任意の要素が条件を満たしているかどうかを判断します。Determines whether any element of a sequence satisfies a condition.

Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>) Any<TSource>(IEnumerable<TSource>)

シーケンスに要素が含まれているかどうかを判断します。Determines whether a sequence contains any elements.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static bool Any(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static bool Any<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Any : seq<'Source> -> bool
<Extension()>
Public Function Any(Of TSource) (source As IEnumerable(Of TSource)) As Boolean

型パラメーター

TSource

source の要素の型。The type of the elements of source.

パラメーター

source
IEnumerable<TSource>

空かどうかを確認する IEnumerable<T>The IEnumerable<T> to check for emptiness.

戻り値

ソース シーケンスに要素が含まれている場合は true。それ以外の場合は falsetrue if the source sequence contains any elements; otherwise, false.

例外

次のコード例は、を使用Anyして、シーケンスに要素が含まれているかどうかを確認する方法を示しています。The following code example demonstrates how to use Any to determine whether a sequence contains any elements.

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.
' Create a list of Integers.
Dim numbers As New List(Of Integer)(New Integer() {1, 2})

' Determine if the list contains any items.
Dim hasElements As Boolean = numbers.Any()

' Display the output.
Dim text As String = IIf(hasElements, "not ", "")
MsgBox("The list is " & text & "empty.")

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

Any<TSource>(IEnumerable<TSource>)メソッドが返すブール値は、通常、 where句の述語 (Where Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Visual Basic 内の句) またはメソッドの直接呼び出しで使用されます。The Boolean value that the Any<TSource>(IEnumerable<TSource>) method returns is typically used in the predicate of a where clause (Where clause in Visual Basic) or a direct call to the Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method. このAnyメソッドの使用例を次に示します。The following example demonstrates this use of the Any method.

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
    */
}
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Structure Person
    Public LastName As String
    Public Pets() As Pet
End Structure

Sub AnyEx2()
    Dim people As New List(Of Person)(New Person() _
{New Person With {.LastName = "Haas",
                  .Pets = New Pet() {New Pet With {.Name = "Barley", .Age = 10},
                                     New Pet With {.Name = "Boots", .Age = 14},
                                     New Pet With {.Name = "Whiskers", .Age = 6}}},
  New Person With {.LastName = "Fakhouri",
                   .Pets = New Pet() {New Pet With {.Name = "Snowball", .Age = 1}}},
  New Person With {.LastName = "Antebi",
                   .Pets = New Pet() {}},
  New Person With {.LastName = "Philips",
                   .Pets = New Pet() {New Pet With {.Name = "Sweetie", .Age = 2},
                                      New Pet With {.Name = "Rover", .Age = 13}}}})

    ' Determine which people have a non-empty Pet array.
    Dim names = From person In people
                Where person.Pets.Any()
                Select person.LastName

    For Each name As String In names
        Console.WriteLine(name)
    Next

    ' This code produces the following output:
    '
    ' Haas
    ' Fakhouri
    ' Philips

End Sub

注釈

注意

このメソッドは、コレクションの1つの要素を返しません。This method does not return any one element of a collection. 代わりに、コレクションに要素が含まれているかどうかを判断します。Instead, it determines whether the collection contains any elements.

source列挙は、結果を確認できるようになるとすぐに停止します。The enumeration of source is stopped as soon as the result can be determined.

Visual Basic のクエリ式の構文でAggregate Into Any()は、句はのAny呼び出しに変換します。In Visual Basic query expression syntax, an Aggregate Into Any() clause translates to an invocation of Any.

こちらもご覧ください

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

シーケンスの任意の要素が条件を満たしているかどうかを判断します。Determines whether any element of a sequence satisfies a condition.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static bool Any(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static bool Any<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Any : seq<'Source> * Func<'Source, bool> -> bool
<Extension()>
Public Function Any(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As Boolean

型パラメーター

TSource

source の要素の型。The type of the elements of source.

パラメーター

source
IEnumerable<TSource>

述語を適用する要素を含む IEnumerable<T>An IEnumerable<T> whose elements to apply the predicate to.

predicate
Func<TSource,Boolean>

各要素が条件を満たしているかどうかをテストする関数。A function to test each element for a condition.

戻り値

指定された述語でソース シーケンスの要素がテストに合格する場合は true。それ以外の場合は falsetrue if any elements in the source sequence pass the test in the specified predicate; otherwise, false.

例外

source または predicatenull です。source or predicate is null.

次のコード例は、を使用Anyして、シーケンス内のいずれかの要素が条件を満たすかどうかを判断する方法を示しています。The following code example demonstrates how to use Any to determine whether any element in a sequence satisfies a condition.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool Vaccinated { get; set; }
}

public static void AnyEx3()
{
    // Create an array of Pets.
    Pet[] pets =
        { new Pet { Name="Barley", Age=8, Vaccinated=true },
          new Pet { Name="Boots", Age=4, Vaccinated=false },
          new Pet { Name="Whiskers", Age=1, Vaccinated=false } };

    // Determine whether any pets over age 1 are also unvaccinated.
    bool unvaccinated =
        pets.Any(p => p.Age > 1 && p.Vaccinated == false);

    Console.WriteLine(
        "There {0} unvaccinated animals over age one.",
        unvaccinated ? "are" : "are not any");
}

// This code produces the following output:
//
//  There are unvaccinated animals over age one.
Structure Pet
    Public Name As String
    Public Age As Integer
    Public Vaccinated As Boolean
End Structure

Shared Sub AnyEx3()
    ' Create a list of Pets
    Dim pets As New List(Of Pet)(New Pet() _
                         {New Pet With {.Name = "Barley", .Age = 8, .Vaccinated = True},
                          New Pet With {.Name = "Boots", .Age = 4, .Vaccinated = False},
                          New Pet With {.Name = "Whiskers", .Age = 1, .Vaccinated = False}})

    ' Determine whether any pets over age 1 are also unvaccinated.
    Dim unvaccinated As Boolean =
pets.Any(Function(pet) pet.Age > 1 And pet.Vaccinated = False)

    ' Display the output.
    Dim text As String = IIf(unvaccinated, "are", "are not")
    MsgBox("There " & text & " unvaccinated animals over age 1.")
End Sub

' This code produces the following output:
'
' There are unvaccinated animals over age 1.

注釈

注意

このメソッドは、コレクションの1つの要素を返しません。This method does not return any one element of a collection. 代わりに、コレクションのいずれかの要素が条件を満たしているかどうかを判断します。Instead, it determines whether any elements of a collection satisfy a condition.

source列挙は、結果を確認できるようになるとすぐに停止します。The enumeration of source is stopped as soon as the result can be determined.

Visual Basic のクエリ式の構文でAggregate Into Any()は、句はのAny呼び出しに変換します。In Visual Basic query expression syntax, an Aggregate Into Any() clause translates to an invocation of Any.

こちらもご覧ください

適用対象