Enumerable.Empty<TResult> Methode

Definitie

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

IEnumerable<TResult>

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>().

Van toepassing op