Enumerable.Where Metode

Definisi

Memfilter urutan nilai berdasarkan predikat.

Overload

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Memfilter urutan nilai berdasarkan predikat.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Sumber:
Where.cs
Sumber:
Where.cs
Sumber:
Where.cs

Memfilter urutan nilai berdasarkan predikat.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Where(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Where : seq<'Source> * Func<'Source, bool> -> seq<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As IEnumerable(Of TSource)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Untuk IEnumerable<T> memfilter.

predicate
Func<TSource,Boolean>

Fungsi untuk menguji setiap elemen untuk suatu kondisi.

Mengembalikan

IEnumerable<TSource>

Yang IEnumerable<T> berisi elemen dari urutan input yang memenuhi kondisi.

Pengecualian

source atau predicate adalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) untuk memfilter urutan.

List<string> fruits =
    new List<string> { "apple", "passionfruit", "banana", "mango",
                    "orange", "blueberry", "grape", "strawberry" };

IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);

foreach (string fruit in query)
{
    Console.WriteLine(fruit);
}
/*
 This code produces the following output:

 apple
 mango
 grape
*/
' Create a list of strings.
Dim fruits As New List(Of String)(New String() _
                    {"apple", "passionfruit", "banana", "mango",
                     "orange", "blueberry", "grape", "strawberry"})

' Restrict the results to those strings whose
' length is less than six.
Dim query As IEnumerable(Of String) =
fruits.Where(Function(fruit) fruit.Length < 6)

' Display the results.
Dim output As New System.Text.StringBuilder
For Each fruit As String In query
    output.AppendLine(fruit)
Next
Console.WriteLine(output.ToString())

' This code produces the following output:
'
' apple
' mango
' grape

Keterangan

Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator secara langsung atau dengan menggunakan foreach di C# atau For Each di Visual Basic.

Dalam sintaks ekspresi kueri, where klausa (C#) atau Where (Visual Basic) diterjemahkan ke pemanggilan Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>).

Lihat juga

Berlaku untuk

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Sumber:
Where.cs
Sumber:
Where.cs
Sumber:
Where.cs

Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Where(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int, bool> ^ predicate);
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int,bool> predicate);
static member Where : seq<'Source> * Func<'Source, int, bool> -> seq<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Integer, Boolean)) As IEnumerable(Of TSource)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Untuk IEnumerable<T> memfilter.

predicate
Func<TSource,Int32,Boolean>

Fungsi untuk menguji setiap elemen sumber untuk suatu kondisi; parameter kedua fungsi mewakili indeks elemen sumber.

Mengembalikan

IEnumerable<TSource>

Yang IEnumerable<T> berisi elemen dari urutan input yang memenuhi kondisi.

Pengecualian

source atau predicate adalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) untuk memfilter urutan berdasarkan predikat yang melibatkan indeks setiap elemen.

int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };

IEnumerable<int> query =
    numbers.Where((number, index) => number <= index * 10);

foreach (int number in query)
{
    Console.WriteLine(number);
}
/*
 This code produces the following output:

 0
 20
 15
 40
*/
' Create an array of integers.
Dim numbers() As Integer = {0, 30, 20, 15, 90, 85, 40, 75}

' Restrict the results to those numbers whose
' values are less than or equal to their index times 10.
Dim query As IEnumerable(Of Integer) =
numbers.Where(Function(number, index) number <= index * 10)

' Display the results.
Dim output As New System.Text.StringBuilder
For Each number As Integer In query
    output.AppendLine(number)
Next
Console.WriteLine(output.ToString())

' This code produces the following output:
'
' 0
' 20
' 15
' 40

Keterangan

Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator secara langsung atau dengan menggunakan foreach di C# atau For Each di Visual Basic.

Argumen pertama mewakili predicate elemen yang akan diuji. Argumen kedua mewakili indeks berbasis nol dari elemen dalam source.

Berlaku untuk