Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Enumerable.Empty<TResult>-Methode

Aktualisiert: November 2007

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

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

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

J# unterstützt die Verwendung von generischen APIs, aber nicht die Deklaration von neuen generischen APIs.
JScript unterstützt keine generischen Typen oder Methoden.

Typparameter

TResult

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

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<TResult>
Ein leeres IEnumerable<T>, dessen Typargument TResult ist.

Mit der Empty<TResult>()-Methode wird eine leere Sequenz vom Typ TResult zwischengespeichert. Wenn das von ihr zurückgegebene Objekt aufgelistet wird, werden keine Elemente zurückgegeben.

In einigen Fällen empfiehlt sich diese Methode, um eine leere Sequenz an eine benutzerdefinierte Methode zu übergeben, die ein IEnumerable<T> akzeptiert. Sie kann auch verwendet werden, um ein neutrales Element für Methoden, z. B. Union, zu generieren. Ein Beispiel für diese Verwendung von Empty<TResult>() finden Sie im Beispielabschnitt.

Im folgenden Codebeispiel wird die Verwendung von Empty<TResult>() zum Generieren eines leeren IEnumerable<T> veranschaulicht.

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


Im folgenden Codebeispiel wird eine mögliche Anwendung der Empty<TResult>()-Methode gezeigt. Die Aggregate-Methode wird auf eine Auflistung von Zeichenfolgenarrays angewendet. Die Elemente der einzelnen Arrays in der Auflistung werden dem resultierenden IEnumerable<T> nur hinzugefügt, wenn das betreffende Array mindestens vier Elemente enthält. Mit Empty<TResult> wird der Startwert für Aggregate generiert, weil nur die leere Sequenz zurückgegeben wird, wenn kein Array in der Auflistung mindestens vier Elemente enthält.

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



Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5

.NET Compact Framework

Unterstützt in: 3.5
Anzeigen: