Enumerable.Empty<TResult> Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een lege IEnumerable<T> waarde met het opgegeven typeargument.
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)
Type parameters
- TResult
Het type dat moet worden toegewezen aan de typeparameter van de geretourneerde algemene IEnumerable<T>.
Retouren
Een leeg IEnumerable<T> argument waarvan het type argument is TResult.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u Empty<TResult>() een leeg IEnumerable<T>bestand genereert.
IEnumerable<decimal> empty = Enumerable.Empty<decimal>();
' Create an empty sequence.
Dim empty As IEnumerable(Of Decimal) = Enumerable.Empty(Of Decimal)()
In het volgende codevoorbeeld ziet u een mogelijke toepassing van de Empty<TResult>() methode. De Aggregate methode wordt toegepast op een verzameling tekenreeksmatrices. De elementen van elke matrix in de verzameling worden alleen toegevoegd aan het resultaat IEnumerable<T> als die matrix vier of meer elementen bevat. Empty wordt gebruikt om de seed-waarde te genereren, Aggregate omdat als er geen matrix in de verzameling vier of meer elementen bevat, alleen de lege reeks wordt geretourneerd.
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
Opmerkingen
De Empty<TResult>() methode slaat een lege reeks van het type TResultin de cache op. Wanneer het geretourneerde object wordt geïnventariseerd, levert het geen elementen op.
In sommige gevallen is deze methode handig voor het doorgeven van een lege reeks aan een door de gebruiker gedefinieerde methode die een IEnumerable<T>. Het kan ook worden gebruikt om een neutraal element te genereren voor methoden zoals Union. Zie de sectie Voorbeeld voor een voorbeeld van dit gebruik van Empty<TResult>().