Bagikan melalui


Enumerable.Empty<TResult> Metode

Definisi

Mengembalikan kosong IEnumerable<T> yang memiliki argumen jenis yang ditentukan.

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)

Jenis parameter

TResult

Jenis yang akan ditetapkan ke parameter jenis generik IEnumerable<T>yang dikembalikan .

Mengembalikan

IEnumerable<TResult>

IEnumerable<T> Kosong yang argumen jenisnya adalah TResult.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Empty<TResult>() untuk menghasilkan kosong IEnumerable<T>.

IEnumerable<decimal> empty = Enumerable.Empty<decimal>();
' Create an empty sequence.
Dim empty As IEnumerable(Of Decimal) = Enumerable.Empty(Of Decimal)()

Contoh kode berikut menunjukkan kemungkinan aplikasi Empty<TResult>() metode . Metode Aggregate ini diterapkan ke kumpulan array string. Elemen dari setiap array dalam koleksi ditambahkan ke yang dihasilkan IEnumerable<T> hanya jika array tersebut berisi empat elemen atau lebih. Empty digunakan untuk menghasilkan nilai seed untuk Aggregate karena jika tidak ada array dalam koleksi yang memiliki empat elemen atau lebih, hanya urutan kosong yang dikembalikan.

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

Keterangan

Metode ini Empty<TResult>() menyimpan urutan tipe TResultkosong . Ketika objek yang dikembalikannya dijumlahkan, objek tidak menghasilkan elemen.

Dalam beberapa kasus, metode ini berguna untuk meneruskan urutan kosong ke metode yang ditentukan pengguna yang mengambil IEnumerable<T>. Ini juga dapat digunakan untuk menghasilkan elemen netral untuk metode seperti Union. Lihat bagian Contoh untuk contoh penggunaan Empty<TResult>()ini .

Berlaku untuk