Questa documentazione è stata archiviata e non viene gestita.

Metodo Enumerable.Any<TSource> (IEnumerable<TSource>)

Aggiornamento: novembre 2007

Determina se una sequenza contiene elementi.

Spazio dei nomi:  System.Linq
Assembly:  System.Core (in System.Core.dll)

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

J# supporta l'utilizzo di API generiche ma non la dichiarazione di nuove.
JScript non supporta i tipi o i metodi generici.

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
Tipo: System.Collections.Generic.IEnumerable<TSource>

L'oggetto IEnumerable<T> di cui verificare il contenuto.

Valore restituito

Tipo: System.Boolean

true se la sequenza di origine contiene elementi; in caso contrario, false.

Nota sull'utilizzo

In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo IEnumerable<TSource>. Per chiamare il metodo utilizzando la sintassi del metodo di istanza, omettere il primo parametro. Per ulteriori informazioni, vedere Metodi di estensione (Visual Basic) o Metodi di estensione (Guida per programmatori C#).

EccezioneCondizione
ArgumentNullException

source è null.

Nota:

Questo metodo non restituisce un qualsiasi elemento di un insieme. Determina invece se l'insieme contiene elementi.

L'enumerazione di source viene interrotta appena il risultato può essere determinato.

Nella sintassi di una espressione di query in Visual Basic, una clausola Aggregate Into Any() viene convertita in una chiamata di Any.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare Any per determinare se una sequenza contiene elementi.

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. 



Il valore booleano che il metodo Any<TSource>(IEnumerable<TSource>) restituisce viene utilizzato in genere nel predicato di una clausola where (clausola Where in Visual Basic) o di una chiamata diretta al metodo Where<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>). Nell'esempio seguente viene illustrato questo utilizzo del metodo 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
    */
}


Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5

.NET Compact Framework

Supportato in: 3.5
Mostra: