Queryable.Where 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.
Hiermee filtert u een reeks waarden op basis van een predicaat.
Overloads
| Name | Description |
|---|---|
| Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) |
Hiermee filtert u een reeks waarden op basis van een predicaat. De index van elk element wordt gebruikt in de logica van de predicaatfunctie. |
| Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Hiermee filtert u een reeks waarden op basis van een predicaat. |
Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)
Hiermee filtert u een reeks waarden op basis van een predicaat. De index van elk element wordt gebruikt in de logica van de predicaatfunctie.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Where(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> Where<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int,bool>> predicate);
static member Where : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Integer, Boolean))) As IQueryable(Of TSource)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een IQueryable<T> te filteren.
- predicate
- Expression<Func<TSource,Int32,Boolean>>
Een functie om elk element voor een voorwaarde te testen; de tweede parameter van de functie vertegenwoordigt de index van het element in de bronreeks.
Retouren
Een IQueryable<T> die elementen uit de invoerreeks bevat die voldoen aan de voorwaarde die is opgegeven door predicate.
Uitzonderingen
source of predicate is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) u een reeks filtert op basis van een predicaat dat de index van elk element bevat.
int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };
// Get all the numbers that are less than or equal to
// the product of their index in the array and 10.
IEnumerable<int> query =
numbers.AsQueryable()
.Where((number, index) => number <= index * 10);
foreach (int number in query)
Console.WriteLine(number);
/*
This code produces the following output:
0
20
15
40
*/
Dim numbers() As Integer = {0, 30, 20, 15, 90, 85, 40, 75}
' Get all the numbers that are less than or equal to
' the product of their index in the array and 10.
Dim query = numbers.AsQueryable() _
.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
MsgBox(output.ToString())
' This code produces the following output:
' 0
' 20
' 15
' 40
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) methode genereert een MethodCallExpression die zichzelf aanroept Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat de elementen worden geretourneerd die source voldoen aan de voorwaarde die is opgegeven door predicate. De index van elk bronelement wordt opgegeven als het tweede argument voor predicate.
Van toepassing op
Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
Hiermee filtert u een reeks waarden op basis van een predicaat.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Where(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> Where<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member Where : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As IQueryable(Of TSource)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een IQueryable<T> te filteren.
- predicate
- Expression<Func<TSource,Boolean>>
Een functie om elk element voor een voorwaarde te testen.
Retouren
Een IQueryable<T> die elementen uit de invoerreeks bevat die voldoen aan de voorwaarde die is opgegeven door predicate.
Uitzonderingen
source of predicate is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) u een reeks filtert.
List<string> fruits =
new List<string> { "apple", "passionfruit", "banana", "mango",
"orange", "blueberry", "grape", "strawberry" };
// Get all strings whose length is less than 6.
IEnumerable<string> query =
fruits.AsQueryable().Where(fruit => fruit.Length < 6);
foreach (string fruit in query)
Console.WriteLine(fruit);
/*
This code produces the following output:
apple
mango
grape
*/
Dim fruits As New List(Of String)(New String() _
{"apple", "passionfruit", "banana", "mango", _
"orange", "blueberry", "grape", "strawberry"})
' Get all strings whose length is less than 6.
Dim query = fruits.AsQueryable().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
MsgBox(output.ToString())
' This code produces the following output:
' apple
' mango
' grape
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) methode genereert een MethodCallExpression die zichzelf aanroept Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat de elementen worden geretourneerd die source voldoen aan de voorwaarde die is opgegeven door predicate.