Enumerable.Empty<TResult> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein leeres IEnumerable<T> zurück, das über das angegebene Typargument verfügt
public:
generic <typename TResult>
static System::Collections::Generic::IEnumerable<TResult> ^ Empty();
public static System.Collections.Generic.IEnumerable<TResult> Empty<TResult> ();
static member Empty : unit -> seq<'Result>
Public Function Empty(Of TResult) () As IEnumerable(Of TResult)
Typparameter
- TResult
Der Typ, der dem Typparameter des zurückgegebenen generischen IEnumerable<T> zugewiesen werden soll.
Gibt zurück
Ein leeres IEnumerable<T>, dessen Typargument TResult
ist
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein Empty<TResult>() leeres IEnumerable<T>generiert wird.
IEnumerable<decimal> empty = Enumerable.Empty<decimal>();
' Create an empty sequence.
Dim empty As IEnumerable(Of Decimal) = Enumerable.Empty(Of 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.
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
*/
' Create three string arrays.
Dim names1() As String =
{"Hartono, Tommy"}
Dim names2() As String =
{"Adams, Terry", "Andersen, Henriette Thaulow", "Hedlund, Magnus", "Ito, Shu"}
Dim names3() As String =
{"Solanki, Ajay", "Hoeing, Helge", "Andersen, Henriette Thaulow", "Potra, Cristina", "Iallo, Lucio"}
' Create a List that contains 3 elements, where
' each element is an array of strings.
Dim namesList As New List(Of String())(New String()() {names1, names2, names3})
' Select arrays that have four or more elements and union
' them into one collection, using Empty() to generate the
' empty collection for the seed value.
Dim allNames As IEnumerable(Of String) =
namesList.Aggregate(Enumerable.Empty(Of String)(),
Function(current, nextOne) _
IIf(nextOne.Length > 3, current.Union(nextOne), current))
Dim output As New System.Text.StringBuilder
For Each name As String In allNames
output.AppendLine(name)
Next
' Display the output.
Console.WriteLine(output.ToString())
' 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 TResult
zwischen. 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.