Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Enumerable.Any Method

Definition

Namespace:
System.Linq
Assemblies:
System.Core.dll, System.Linq.dll
Assemblies:
netstandard.dll, System.Linq.dll
Assembly:
System.Linq.dll
Assembly:
System.Core.dll
Assembly:
netstandard.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Determines whether any element of a sequence exists or satisfies a condition.

Overloads

Name Description
Any<TSource>(IEnumerable<TSource>)

Determines whether a sequence contains any elements.

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

Determines whether any element of a sequence satisfies a condition.

Any<TSource>(IEnumerable<TSource>)

Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs

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

Type Parameters

TSource

The type of the elements of source.

Parameters

source
IEnumerable<TSource>

The IEnumerable<T> to check for emptiness.

Returns

true if the source sequence contains any elements; otherwise, false.

Exceptions

source is null.

Examples

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 ", "")
Console.WriteLine($"The list is {text}empty.")

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

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. 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

Remarks

Note

This method does not return any one element of a collection. Instead, it determines whether the collection contains any elements.

The enumeration of source is stopped as soon as the result can be determined.

In Visual Basic query expression syntax, an Aggregate Into Any() clause translates to an invocation of Any.

See also

Applies to

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

Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs

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

Type Parameters

TSource

The type of the elements of source.

Parameters

source
IEnumerable<TSource>

An IEnumerable<T> whose elements to apply the predicate to.

predicate
Func<TSource,Boolean>

A function to test each element for a condition.

Returns

true if the source sequence is not empty and at least one of its elements passes the test in the specified predicate; otherwise, false.

Exceptions

source or predicate is null.

Examples

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);

 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")
 Console.WriteLine($"There {text} unvaccinated animals over age 1.")
End Sub

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

Remarks

Note

This method does not return any one element of a collection. Instead, it determines whether any elements of a collection satisfy a condition.

The enumeration of source is stopped as soon as the result can be determined.

In Visual Basic query expression syntax, an Aggregate Into Any() clause translates to an invocation of Any.

See also

Applies to


Feedback

Was this page helpful?