Enumerable.Empty<TResult> Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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<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 TResult
kosong . 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 .