Queryable.Select Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Projiziert jedes Element einer Sequenz in ein neues Format.
Überlädt
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) |
Projiziert jedes Element einer Sequenz in ein neues Format, indem der Index des Elements integriert wird |
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) |
Projiziert jedes Element einer Sequenz in ein neues Format. |
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Projiziert jedes Element einer Sequenz in ein neues Format, indem der Index des Elements integriert wird
public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TResult> ^ Select(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int, TResult> ^> ^ selector);
public static System.Linq.IQueryable<TResult> Select<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int,TResult>> selector);
static member Select : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int, 'Result>> -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function Select(Of TSource, TResult) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Integer, TResult))) As IQueryable(Of TResult)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TResult
Der Typ des Werts, der von der durch selector
dargestellten Funktion zurückgegeben wird.
Parameter
- source
- IQueryable<TSource>
Eine Sequenz von zu projizierenden Werten.
- selector
- Expression<Func<TSource,Int32,TResult>>
Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.
Gibt zurück
Ein IQueryable<T>, dessen Elemente das Ergebnis des Aufrufs einer Projektionsfunktion für jedes Element von source
sind.
Ausnahmen
source
oder selector
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) , um eine Sequenz von Werten zu projizieren und den Index jedes Elements im projizierten Formular zu verwenden.
string[] fruits = { "apple", "banana", "mango", "orange",
"passionfruit", "grape" };
// Project an anonymous type that contains the
// index of the string in the source array, and
// a string that contains the same number of characters
// as the string's index in the source array.
var query =
fruits.AsQueryable()
.Select((fruit, index) =>
new { index, str = fruit.Substring(0, index) });
foreach (var obj in query)
Console.WriteLine("{0}", obj);
/*
This code produces the following output:
{ index = 0, str = }
{ index = 1, str = b }
{ index = 2, str = ma }
{ index = 3, str = ora }
{ index = 4, str = pass }
{ index = 5, str = grape }
*/
Dim fruits() As String = {"apple", "banana", "mango", "orange", _
"passionfruit", "grape"}
' Project an anonymous type that contains the
' index of the string in the source array, and
' a string that contains the same number of characters
' as the string's index in the source array.
Dim query = _
fruits.AsQueryable() _
.Select(Function(fruit, index) New With {index, .str = fruit.Substring(0, index)})
Dim output As New System.Text.StringBuilder
For Each obj In query
output.AppendLine(obj.ToString())
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
' { index = 0, str = }
' { index = 1, str = b }
' { index = 2, str = ma }
' { index = 3, str = ora }
' { index = 4, str = pass }
' { index = 5, str = grape }
Hinweise
Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.
Die Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) -Methode generiert eine MethodCallExpression , die den Aufruf Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die CreateQuery(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element von source
aufruftselector
, um es in eine andere Form zu projizieren.
Gilt für:
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Projiziert jedes Element einer Sequenz in ein neues Format.
public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TResult> ^ Select(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TResult> ^> ^ selector);
public static System.Linq.IQueryable<TResult> Select<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
static member Select : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Result>> -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function Select(Of TSource, TResult) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, TResult))) As IQueryable(Of TResult)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TResult
Der Typ des Werts, der von der durch selector
dargestellten Funktion zurückgegeben wird.
Parameter
- source
- IQueryable<TSource>
Eine Sequenz von zu projizierenden Werten.
- selector
- Expression<Func<TSource,TResult>>
Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.
Gibt zurück
Ein IQueryable<T>, dessen Elemente das Ergebnis des Aufrufs einer Projektionsfunktion für jedes Element von source
sind.
Ausnahmen
source
oder selector
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) , um eine Sequenz von Werten zu projizieren.
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
*/
Dim range As New List(Of Integer)(New Integer() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10})
' Project the square of each int value.
Dim squares As IEnumerable(Of Integer) = _
range.AsQueryable().Select(Function(x) x * x)
Dim output As New System.Text.StringBuilder
For Each num As Integer In squares
output.AppendLine(num)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
' 1
' 4
' 9
' 16
' 25
' 36
' 49
' 64
' 81
' 100
Hinweise
Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.
Die Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) -Methode generiert eine MethodCallExpression , die den Aufruf Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die CreateQuery(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element von source
aufruftselector
, um es in eine andere Form zu projizieren.