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 Enumerable.Empty<TResult>()

 

Data di pubblicazione: ottobre 2016

Restituisce un oggetto vuoto IEnumerable<T> con l'argomento del tipo specificato.

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

public static IEnumerable<TResult> Empty<TResult>()

Valore restituito

Type: System.Collections.Generic.IEnumerable<TResult>

Un oggetto vuoto IEnumerable<T> il cui argomento di tipo è TResult.

Parametri tipo

TResult

Il tipo da assegnare al parametro di tipo del tipo restituito generico IEnumerable<T>.

Il Empty<TResult>() metodo memorizza nella cache una sequenza vuota di tipo TResult. Quando l'oggetto restituito viene enumerata, viene non generato alcun elemento.

In alcuni casi, questo metodo è utile per passare una sequenza vuota a un metodo definito dall'utente che accetta un IEnumerable<T>. Può inoltre essere utilizzato per generare un elemento neutro per metodi, ad esempio Union<TSource>. Vedere la sezione di esempio per un esempio di questo utilizzo di Empty<TResult>().

Esempio di codice seguente viene illustrato come utilizzare Empty<TResult>() per generare un oggetto vuoto IEnumerable<T>.

IEnumerable<decimal> empty = Enumerable.Empty<decimal>();

Esempio di codice seguente viene illustrata una possibile applicazione del Empty<TResult>() metodo. Il Aggregate<TSource> metodo viene applicato a una raccolta di matrici di stringhe. Gli elementi di ogni matrice nella raccolta vengono aggiunti all'oggetto risultante IEnumerable<T> solo se la matrice contiene quattro o più elementi. Empty<TResult> viene utilizzato per generare il valore di inizializzazione per Aggregate<TSource> perché se nessuna matrice nella raccolta dispone di quattro o più elementi, viene restituita solo la sequenza vuota.

string[] names1 = { "Hartono, Tommy" };
string[] names2 = { "Adams, Terry", "Andersen, Henriette Thaulow",
                      "Hedlund, Magnus", "Ito, Shu" };
string[] names3 = { "Solanki, Ajay", "Hoeing, Helge",
                      "Andersen, Henriette Thaulow",
                      "Potra, Cristina", "Iallo, Lucio" };

List<string[]> namesList =
    new List<string[]> { names1, names2, names3 };

// Only include arrays that have four or more elements
IEnumerable<string> allNames =
    namesList.Aggregate(Enumerable.Empty<string>(),
    (current, next) => next.Length > 3 ? current.Union(next) : current);

foreach (string name in allNames)
{
    Console.WriteLine(name);
}

/*
 This code produces the following output:

 Adams, Terry
 Andersen, Henriette Thaulow
 Hedlund, Magnus
 Ito, Shu
 Solanki, Ajay
 Hoeing, Helge
 Potra, Cristina
 Iallo, Lucio
*/

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.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: