Enumerable.Empty<TResult> Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí prázdnou IEnumerable<T> hodnotu, která má zadaný argument typu.
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)
Parametry typu
- TResult
Typ, který se má přiřadit k parametru typu vráceného obecného IEnumerable<T>.
Návraty
Prázdné IEnumerable<T> , jehož argument typu je TResult
.
Příklady
Následující příklad kódu ukazuje, jak použít Empty<TResult>() k vygenerování prázdné IEnumerable<T>.
IEnumerable<decimal> empty = Enumerable.Empty<decimal>();
' Create an empty sequence.
Dim empty As IEnumerable(Of Decimal) = Enumerable.Empty(Of Decimal)()
Následující příklad kódu ukazuje možné použití Empty<TResult>() metody . Metoda se Aggregate použije na kolekci polí řetězců. Prvky každého pole v kolekci jsou přidány do výsledné IEnumerable<T> pouze v případě, že pole obsahuje čtyři nebo více prvků. Empty Slouží k vygenerování počáteční hodnoty pro Aggregate , protože pokud žádné pole v kolekci neobsahuje čtyři nebo více prvků, vrátí se pouze prázdná sekvence.
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
Poznámky
Metoda Empty<TResult>() ukládá do mezipaměti prázdnou sekvenci typu TResult
. Při výčtu objektu, který vrací, nevyvolá žádné prvky.
V některých případech je tato metoda užitečná pro předání prázdné sekvence do uživatelem definované metody, která přebírá IEnumerable<T>. Dá se také použít k vygenerování neutrálního elementu pro metody, jako Unionje . Příklad tohoto použití najdete v Empty<TResult>()části Příklad.