# Enumerable.AnyEnumerable.AnyEnumerable.AnyEnumerable.Any Method

## Definition

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

## Overloads

 Any(IEnumerable) Any(IEnumerable) Any(IEnumerable) Any(IEnumerable) Determines whether a sequence contains any elements. Any(IEnumerable, Func) Any(IEnumerable, Func) Any(IEnumerable, Func) Any(IEnumerable, Func) 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``````

#### 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 ", "")
MsgBox("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

## 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``````

#### 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 any elements in the source sequence pass 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 == 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.
``````

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