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

Enumerable.Select<TSource, TResult>-Methode: (IEnumerable<TSource>, 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 IEnumerable<TResult> Select<TSource, TResult>(
	this IEnumerable<TSource> source,
	Func<TSource, TResult> selector
)

Parameter

source
Type: System.Collections.Generic.IEnumerable<TSource>

Eine Sequenz von Werten, für die eine Transformationsfunktion aufgerufen werden soll.

selector
Type: System.Func<TSource, TResult>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Rückgabewert

Type: System.Collections.Generic.IEnumerable<TResult>

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

Typparameter

TSource

Der Typ der Elemente von source.

TResult

Der Typ des von selector zurückgegebenen Werts.

Exception Condition
ArgumentNullException

source oder selector ist null.

Diese Methode wird mit verzögerter Ausführung implementiert. Der sofortige Rückgabewert ist ein Objekt, das alle Informationen gespeichert hat, die zum Ausführen der Aktion erforderlich sind. Die von dieser Methode dargestellte Abfrage wird nicht ausgeführt, bis das Objekt aufgelistet wird, entweder durch Aufrufen der GetEnumerator -Methode direkt oder mithilfe von foreach in Visual C# oder For Each in Visual Basic.

Diese Projektionsmethode ist die Transformationsfunktion erforderlich selector, um einen Wert für jeden Wert in der Quellsequenz zu source. Wenn selector Gibt einen Wert, der selbst eine Auflistung ist, wird der Consumer die Untersequenzen manuell durchlaufen. In einer solchen Situation kann es besser für Ihre Abfrage zurückgeben soll eine einzelne zusammengefügte Sequenz von Werten sein. Um dies zu erreichen, verwenden Sie die SelectMany<TSource, TResult> Methode statt Select<TSource, TResult>. Obwohl SelectMany funktioniert ähnlich wie Select, im Unterschied zu die Transformationsfunktion eine Auflistung zurückgibt, die von erweitert wird SelectMany vor der Rückgabe.

In der Abfrageausdruckssyntax ein select (Visual C#) oder Select (Visual Basic)-Klausel übersetzt in einen Aufruf von Select.

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

IEnumerable<int> squares =
    Enumerable.Range(1, 10).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.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: