Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Queryable.Any<TSource>(IQueryable<TSource>)

 

Data di pubblicazione: ottobre 2016

Determina se una sequenza contiene elementi.

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

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

Parametri

source
Type: System.Linq.IQueryable<TSource>

Sequenza per verificare se è vuota.

Valore restituito

Type: System.Boolean

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

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source è null.

Il Any<TSource>(IQueryable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata Any<TSource>(IQueryable<TSource>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il Execute<TResult>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata Any<TSource>(IQueryable<TSource>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che determina se source contiene elementi.

Esempio di codice seguente viene illustrato come utilizzare Any<TSource>(IQueryable<TSource>) per determinare se una sequenza contiene elementi.

List<int> numbers = new List<int> { 1, 2 };

// Determine if the list contains any elements.
bool hasElements = numbers.AsQueryable().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 Any<TSource>(IQueryable<TSource>) restituisce in genere viene utilizzato nel predicato di un where clausola (Where clausola Visual Basic) o una chiamata diretta al Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) metodo. Nell'esempio seguente viene illustrato l'utilizzo di Any metodo.

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.AsQueryable().Any()
                                select person.LastName;

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

    /* This code produces the following output:

       Haas
       Fakhouri
       Philips
    */
}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: