Auf Englisch lesen

Freigeben über


Enumerable.Empty<TResult> Methode

Definition

Gibt ein leeres IEnumerable<T> zurück, das über das angegebene Typargument verfügt

C#
public static System.Collections.Generic.IEnumerable<TResult> Empty<TResult> ();

Typparameter

TResult

Der Typ, der dem Typparameter des zurückgegebenen generischen IEnumerable<T> zugewiesen werden soll.

Gibt zurück

IEnumerable<TResult>

Ein leeres IEnumerable<T>, dessen Typargument TResult ist

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Empty<TResult>() leeres IEnumerable<T>generiert wird.

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

Im folgenden Codebeispiel wird eine mögliche Anwendung der Empty<TResult>() -Methode veranschaulicht. Die Aggregate -Methode wird auf eine Auflistung von Zeichenfolgenarrays angewendet. Die Elemente jedes Arrays in der Auflistung werden dem resultierenden IEnumerable<T> nur hinzugefügt, wenn dieses Array vier oder mehr Elemente enthält. Empty wird verwendet, um den Seedwert für Aggregate zu generieren, da nur die leere Sequenz zurückgegeben wird, wenn kein Array in der Auflistung über vier oder mehr Elemente verfügt.

C#
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
*/

Hinweise

Die Empty<TResult>() -Methode speichert eine leere Sequenz vom Typ TResultzwischen. Wenn das zurückgegebene Objekt aufgezählt wird, ergibt es keine Elemente.

In einigen Fällen ist diese Methode nützlich, um eine leere Sequenz an eine benutzerdefinierte Methode zu übergeben, die eine IEnumerable<T>akzeptiert. Es kann auch verwendet werden, um ein neutrales Element für Methoden wie Unionzu generieren. Ein Beispiel für diese Verwendung von Empty<TResult>()finden Sie im Abschnitt Beispiel.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0