Queryable.OrderBy 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.
Mengurutkan elemen urutan dalam urutan naik.
Overload
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) |
Mengurutkan elemen urutan dalam urutan naik dengan menggunakan perbandingan yang ditentukan. |
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) |
Mengurutkan elemen urutan dalam urutan naik sesuai dengan kunci. |
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengurutkan elemen urutan dalam urutan naik dengan menggunakan perbandingan yang ditentukan.
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IOrderedQueryable<TSource> ^ OrderBy(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector, System::Collections::Generic::IComparer<TKey> ^ comparer);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey> comparer);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * System.Collections.Generic.IComparer<'Key> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function OrderBy(Of TSource, TKey) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey)), comparer As IComparer(Of TKey)) As IOrderedQueryable(Of TSource)
Jenis parameter
- TSource
Jenis elemen source
.
- TKey
Jenis kunci yang dikembalikan oleh fungsi yang diwakili oleh keySelector
.
Parameter
- source
- IQueryable<TSource>
Urutan nilai yang akan diurutkan.
- keySelector
- Expression<Func<TSource,TKey>>
Fungsi untuk mengekstrak kunci dari elemen.
- comparer
- IComparer<TKey>
IComparer<T> Untuk membandingkan kunci.
Mengembalikan
Elemen IOrderedQueryable<T> yang diurutkan sesuai dengan kunci.
Pengecualian
source
atau keySelector
atau comparer
adalah null
.
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 OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) menghasilkan MethodCallExpression yang mewakili pemanggilan OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter . Hasil panggilan CreateQuery<TElement>(Expression) ditransmisikan ke jenis IOrderedQueryable<T> dan dikembalikan.
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa ia mengurutkan elemen source
berdasarkan kunci yang diperoleh dengan memanggil keySelector
pada setiap elemen source
. Parameter comparer
digunakan untuk membandingkan kunci.
Berlaku untuk
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengurutkan elemen urutan dalam urutan naik sesuai dengan kunci.
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IOrderedQueryable<TSource> ^ OrderBy(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector);
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function OrderBy(Of TSource, TKey) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey))) As IOrderedQueryable(Of TSource)
Jenis parameter
- TSource
Jenis elemen source
.
- TKey
Jenis kunci yang dikembalikan oleh fungsi yang diwakili oleh keySelector
.
Parameter
- source
- IQueryable<TSource>
Urutan nilai yang akan diurutkan.
- keySelector
- Expression<Func<TSource,TKey>>
Fungsi untuk mengekstrak kunci dari elemen.
Mengembalikan
Elemen IOrderedQueryable<T> yang diurutkan sesuai dengan kunci.
Pengecualian
source
atau keySelector
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) untuk mengurutkan elemen urutan.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void OrderByEx1()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
// Sort the Pet objects in the array by Pet.Age.
IEnumerable<Pet> query =
pets.AsQueryable().OrderBy(pet => pet.Age);
foreach (Pet pet in query)
Console.WriteLine("{0} - {1}", pet.Name, pet.Age);
}
/*
This code produces the following output:
Whiskers - 1
Boots - 4
Barley - 8
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Shared Sub OrderByEx1()
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
New Pet With {.Name = "Boots", .Age = 4}, _
New Pet With {.Name = "Whiskers", .Age = 1}}
' Sort the Pet objects in the array by Pet.Age.
Dim query As IEnumerable(Of Pet) = _
pets.AsQueryable().OrderBy(Function(pet) pet.Age)
Dim output As New System.Text.StringBuilder
For Each pet As Pet In query
output.AppendLine(String.Format("{0} - {1}", pet.Name, pet.Age))
Next
' Display the output.
MsgBox(output.ToString())
End Sub
' This code produces the following output:
' Whiskers - 1
' Boots - 4
' Barley - 8
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 OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) menghasilkan MethodCallExpression yang mewakili pemanggilan OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter . Hasil panggilan CreateQuery<TElement>(Expression) ditransmisikan ke jenis IOrderedQueryable<T> dan dikembalikan.
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa ia mengurutkan elemen source
berdasarkan kunci yang diperoleh dengan memanggil keySelector
pada setiap elemen source
.