Linq OrderBy Trick

Bu yazı dizisinde içerikte yazıyı uzun tutmadan küçük ipuçlarından bahsedeceğim.  Sayfa içine eklediğim link ile konunun detaylı incelemesine de ulaşabilir olacaksınız. Böylece hem ipucunu yakalamak isteyen okurlarımız hemde konuyu detaylıca incelemek isteyen okurlarımızın daha efektif faydalanabileceğini düşünüyorum.

0 1.625

Linq-to-SQL Linq-To-Object  hayatımıza girdiğinden beri kod yazmak daha bir zevkli hale geldi
İpucumuz da tam buradan geliyor OrderBy

OrderBy
Bildiğiniz gibi listeler içinde varsayılanı artan olacak şekilde artan (Asc) veya azalan (Desc) olarak sıralama yapmamızı sağlıyor veya nesne yardımıyla compare edilip sıralanabilir.

Standart kullanım

 

Peki kategorileriniz için spesifik bir sıralama yapmamız gerekseydi; Örneğin objemizdeki Category  üzerinde veri bazlı öncelik belirleme işlemi gibi…

Bizim senaryomuzda kategoriler için  “M” ve “C” değeri öncelikli olacak. Bu öncelik sonrasında ise Name özelliğini artan olarak sıralanacak.

Aşağıdaki kod bloğu ile OrderBy içerisinde bir sıralama mantığı belirledik.
Category “M” ise değeri 1 “C” ise 2  M ve C dışındakiler için 100 olarak ele alınacak. Daha sonra Name özelliğiyle ile artan sıralama yapılacak.

Listemizin sıralama dizilimi 1 , 2 , >2 (ikiden büyük olanlar) , A , Z  şeklinde ifade edilebilir..

1
1
2
A – Z

 

Email adresiniz yayınlanmayacaktır.