Giriş
Sıralama metodları bir diziyi verilen kritere göre sıralarlar.
OrderBy
Örnek
OrdreBy stable sorting sağlar. Şöyle yaparız.
Örnek
Şöyle yaparız.
Birden çok alana göre sıralamak için şöyle yaparız.
Sıralama metodları bir diziyi verilen kritere göre sıralarlar.
OrderBy
Örnek
OrdreBy stable sorting sağlar. Şöyle yaparız.
var arr = new int[] { 1, 2, 3 };
var arr2 = arr.OrderBy(x => x == 2).ToArray();
// arr2 --> 1, 3, 2
Şöyle yaparız.
list.OrderBy(p => p.Gender)
ÖrnekBirden çok alana göre sıralamak için şöyle yaparız.
list.OrderBy(p=>p.Gender).ThenBy(p=>p.FirstName);
OrderByDescending
Kendi karşılaştırma sınıfımı kullanabilirim. Şöyle yaparız.
Bu metod sadece IOrderedEnumerable arayüzünde bulunur. IEnumerable arayüzünde yoktur. IEnumerable arayüzünü IOrderedEnumerable arayüzüne çevirmek kolaydır. Sadece şöyle yaparız.
Örnek ver
Reverse
Örnek ver
Kendi karşılaştırma sınıfımı kullanabilirim. Şöyle yaparız.
List<Foo> list = new List<Foo> {...};
IEnumerable<Foo> result =
list.OrderByDescending(f => f, new SpecialComparer());
Comparer sınıfı şöyledir.public class SpecialComparer : IComparer<Foo>
{
public int Compare(Foo f1, Foo f2)
{
if (f1 == f2)
return 0;
else if (f1 > f2)
return 1;
else
return -1;
}
}
ThenByBu metod sadece IOrderedEnumerable arayüzünde bulunur. IEnumerable arayüzünde yoktur. IEnumerable arayüzünü IOrderedEnumerable arayüzüne çevirmek kolaydır. Sadece şöyle yaparız.
var orderedItems = list.OrderBy(_ => 1);
Bu arayüzü aldıktan sonra ikinci, üçüncü kritere göre dizmesi kolaydır. Şöyle yaparız.orderedItems = orderedItems.ThenBy(listItem => listItem.Item1);
ThenByDescendingÖrnek ver
Reverse
Örnek ver
Hiç yorum yok:
Yorum Gönder