Queryable.OrderBy Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir dizinin öğelerini artan düzende sıralar.
Aşırı Yüklemeler
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) |
Belirtilen karşılaştırıcıyı kullanarak bir dizinin öğelerini artan düzende sıralar. |
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) |
Bir dizinin öğelerini bir anahtara göre artan düzende sıralar. |
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Belirtilen karşılaştırıcıyı kullanarak bir dizinin öğelerini artan düzende sıralar.
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)
Tür Parametreleri
- TSource
öğelerinin source
türü.
- TKey
işlevi tarafından döndürülen ve tarafından keySelector
temsil edilen anahtarın türü.
Parametreler
- source
- IQueryable<TSource>
Sıralanması gereken değer dizisi.
- keySelector
- Expression<Func<TSource,TKey>>
Bir öğeden anahtar ayıklama işlevi.
- comparer
- IComparer<TKey>
Anahtarları karşılaştırmak için bir IComparer<T> .
Döndürülenler
Öğeleri IOrderedQueryable<T> bir anahtara göre sıralanmış olan.
Özel durumlar
source
veya keySelector
veya comparer
şeklindedir null
.
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan türünde en az bir parametreye Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource
iletir. Çağrının CreateQuery<TElement>(Expression) sonucu türüne IOrderedQueryable<T> döndürülür ve döndürülür.
Çağrıyı OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source
bağlıdır. Beklenen davranış, öğelerini source
öğesinin her öğesinde çağrılarak elde edilen anahtara göre sıralanmasıdır keySelector
source
. comparer
parametresi anahtarları karşılaştırmak için kullanılır.
Şunlara uygulanır
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir dizinin öğelerini bir anahtara göre artan düzende sıralar.
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)
Tür Parametreleri
- TSource
öğelerinin source
türü.
- TKey
işlevi tarafından döndürülen ve tarafından keySelector
temsil edilen anahtarın türü.
Parametreler
- source
- IQueryable<TSource>
Sıralanması gereken değer dizisi.
- keySelector
- Expression<Func<TSource,TKey>>
Bir öğeden anahtar ayıklama işlevi.
Döndürülenler
Öğeleri IOrderedQueryable<T> bir anahtara göre sıralanmış olan.
Özel durumlar
source
veya keySelector
şeklindedir null
.
Örnekler
Aşağıdaki kod örneği, bir dizinin öğelerini sıralamak için nasıl kullanılacağını OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) gösterir.
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
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan türünde en az bir parametreye Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource
iletir. Çağrının CreateQuery<TElement>(Expression) sonucu türüne IOrderedQueryable<T> döndürülür ve döndürülür.
Çağrıyı OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source
bağlıdır. Beklenen davranış, öğelerini source
öğesinin her öğesinde çağrılarak elde edilen anahtara göre sıralanmasıdır keySelector
source
.