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.Select<TSource, TResult>-Methode: (IQueryable<TSource>, Expression<Func<TSource, TResult>>)

 

Veröffentlicht: Oktober 2016

Projiziert jedes Element einer Sequenz in ein neues Format.

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

public static IQueryable<TResult> Select<TSource, TResult>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, TResult>> selector
)

Parameter

source
Type: System.Linq.IQueryable<TSource>

Eine Sequenz von zu projizierenden Werten.

selector
Type: System.Linq.Expressions.Expression<Func<TSource, TResult>>

Eine Projektionsfunktion auf jedes Element angewendet werden soll.

Rückgabewert

Type: System.Linq.IQueryable<TResult>

Ein IQueryable<T> dessen Elemente das Ergebnis des Aufrufs einer Projektionsfunktion für jedes Element der sind source.

Typparameter

TSource

Der Typ der Elemente von source.

TResult

Der Typ des Rückgabewerts, die von der Funktion als selector.

Exception Condition
ArgumentNullException

source oder selector 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 Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) -Methode generiert eine MethodCallExpression Aufruf darstellt Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) 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, Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) hängt von der Implementierung des Typs der source Parameter. Das erwartete Verhalten ist, ruft selector für jedes Element der source in ein anderes Format zu projizieren.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) projiziert eine Sequenz von Werten.

List<int> range =
    new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Project the square of each int value.
IEnumerable<int> squares =
    range.AsQueryable().Select(x => x * x);

foreach (int num in squares)
    Console.WriteLine(num);

/*
    This code produces the following output:

    1
    4
    9
    16
    25
    36
    49
    64
    81
    100
*/

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: