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 einen leeren IEnumerable<T> Wert zurück, der das angegebene Typargument aufweist.
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>Typs zugewiesen werden soll.
Gibt zurück
Ein leeres IEnumerable<T> Argument, dessen Typargument lautet TResult.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein Empty<TResult>() leeres IEnumerable<T>Objekt 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 der einzelnen Arrays in der Auflistung werden nur hinzugefügt IEnumerable<T> , wenn dieses Array vier oder mehr Elemente enthält. Empty wird verwendet, um den Startwert Aggregate zu generieren, da, wenn keine Matrix in der Auflistung vier oder mehr Elemente enthält, nur die leere Sequenz zurückgegeben wird.
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 des Typs TResultzwischen. Wenn das zurückgegebene Objekt aufgezählt wird, werden keine Elemente zurückgegeben.
In einigen Fällen ist diese Methode nützlich, um eine leere Sequenz an eine benutzerdefinierte Methode zu übergeben, die eine IEnumerable<T>. Es kann auch verwendet werden, um ein neutrales Element für Methoden wie z Union. B. . Ein Beispiel für diese Verwendung Empty<TResult>()finden Sie im Abschnitt "Beispiel".