Queryable.Select Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memproyeksikan setiap elemen urutan ke dalam bentuk baru.
Overload
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) |
Memproyeksikan setiap elemen urutan ke dalam bentuk baru dengan menggabungkan indeks elemen. |
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) |
Memproyeksikan setiap elemen urutan ke dalam bentuk baru. |
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Memproyeksikan setiap elemen urutan ke dalam bentuk baru dengan menggabungkan indeks elemen.
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)
Jenis parameter
- TSource
Jenis elemen source
.
- TResult
Jenis nilai yang dikembalikan oleh fungsi yang diwakili oleh selector
.
Parameter
- source
- IQueryable<TSource>
Urutan nilai yang akan diproyeksikan.
- selector
- Expression<Func<TSource,Int32,TResult>>
Fungsi proyeksi untuk diterapkan ke setiap elemen.
Mengembalikan
Elemen IQueryable<T> yang merupakan hasil dari pemanggilan fungsi proyeksi pada setiap elemen source
.
Pengecualian
source
atau selector
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) untuk memproyeksikan urutan nilai dan menggunakan indeks setiap elemen dalam formulir yang diproyeksikan.
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 }
Keterangan
Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.
Metode ini Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,Int32,TResult>>) bergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector
pada setiap elemen untuk memproyeksikannya source
ke dalam bentuk yang berbeda.
Berlaku untuk
Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Memproyeksikan setiap elemen urutan ke dalam bentuk baru.
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)
Jenis parameter
- TSource
Jenis elemen source
.
- TResult
Jenis nilai yang dikembalikan oleh fungsi yang diwakili oleh selector
.
Parameter
- source
- IQueryable<TSource>
Urutan nilai yang akan diproyeksikan.
- selector
- Expression<Func<TSource,TResult>>
Fungsi proyeksi untuk diterapkan ke setiap elemen.
Mengembalikan
Elemen IQueryable<T> yang merupakan hasil dari pemanggilan fungsi proyeksi pada setiap elemen source
.
Pengecualian
source
atau selector
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) untuk memproyeksikan urutan nilai.
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
Keterangan
Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.
Metode ini Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector
pada setiap elemen untuk memproyeksikannya source
ke dalam bentuk yang berbeda.