Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Queryable.Where<TSource>-Methode: (IQueryable<TSource>, Expression<Func<TSource, Boolean>>)

 

Veröffentlicht: Oktober 2016

Filtert eine Sequenz von Werten basierend auf einem Prädikat.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TSource> Where<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, bool>> predicate
)

Parameter

source
Type: System.Linq.IQueryable<TSource>

Ein IQueryable<T> filtern.

predicate
Type: System.Linq.Expressions.Expression<Func<TSource, Boolean>>

Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Rückgabewert

Type: System.Linq.IQueryable<TSource>

Eine IQueryable<T> die Elemente aus der Eingabesequenz, die die angegebene Bedingung erfüllen enthält predicate.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder predicate ist null.

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> deren Typargument ist eines der Func<T, TResult> Typen. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, und es werden kompiliert, um eine Expression<TDelegate>.

Die Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) -Methode generiert eine MethodCallExpression Aufruf darstellt Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) sich selbst als konstruierte generische Methode. Anschließend übergibt der MethodCallExpression zu der CreateQuery(Expression) Methode der IQueryProvider durch dargestellt die Provider Eigenschaft der source Parameter.

Das Abfrageverhalten durch das Ausführen einer Ausdrucksbaumstruktur, die aufrufende darstellt, Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) hängt von der Implementierung des Typs der source Parameter. Das erwartete Verhalten ist, dass die Elemente von zurückgegeben source die die angegebene Bedingung erfüllen predicate.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) eine Sequenz gefiltert.

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
*/

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.1
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: