Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Bu siteyi Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

0



LINQ - Temel İşlemler - Sıralama (Ordering)

Bir sorgudan çoğu kez elemanları belli bir sırada vermesi istenir. Bunun için orderby cümleciği kullanılır. orderby, aksi belirtilmedikçe sıralamayı küçükten büyüğe doğru yani artan şekilde verir.

Kullanılan sınıfın;
  1. public class Ogrenci
  2. {
  3. public string Adi { get; set; }
  4. public string Soyadi { get; set; }
  5. public int No { get; set; }
  6. public List<int> Yazililar;
  7. }
olduğunu, kullanılan listenin de;
  1. List<Ogrenci> ogrenciler = new List<Ogrenci>
  2. {
  3. new Ogrenci {Adi="Kenan", Soyadi="Oran", No=111, Yazililar = new List<int> {97, 72, 60}},
  4. new Ogrenci {Adi="Erhan", Soyadi="Erkanlı", No=112, Yazililar = new List<int> {75, 84, 39}},
  5. new Ogrenci {Adi="Tekin", Soyadi="Uğurlu", No=113, Yazililar = new List<int> {99, 89, 95}},
  6. new Ogrenci {Adi="Mehmet", Soyadi="Emre", No=114, Yazililar = new List<int> {72, 81, 84}},
  7. new Ogrenci {Adi="Ercan", Soyadi="Orak", No=115, Yazililar = new List<int> {97, 89, 82}},
  8. };
olduğunu varsayarak aşağıdaki örneği inceleyin.
  1. var query = from ogrenci in ogrenciler
  2. where ogr.Yazililar[0] >= 55
  3. orderby ogr.Yazililar[0]
  4. select ogr;
  5.  
  6. /*
  7. // LINQ Yöntem Sözdizimi ile sorgu :
  8. var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55)
  9. .OrderBy(ogr => ogr.Yazililar[0]);
  10. */
Bu örnek, 1. yazılı sınav notu 55 ve daha büyük olan öğrencileri 1. sınav notlarına göre artan sırada (küçükten büyüğe) seçer.

Eğer tersine bir sıralama isteniyorsa descending ifadesi cümleciğin sonuna eklenir.
  1. var query = from ogrenci in ogrenciler
  2. where ogr.Yazililar[0] >= 55
  3. orderby ogr.Yazililar[0] descending
  4. select ogr;
  5.  
  6. /*
  7. // LINQ Yöntem Sözdizimi ile sorgu :
  8. var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55)
  9. .OrderByDescending(ogr => ogr.Yazililar[0]);
  10. */
Bu örnek ise aynı listeden, 1. yazılı sınav notu 55 ve daha büyük olan öğrencileri 1. sınav notlarına göre azalan sırada (büyükten küçüğe) seçer.



Diğer LINQ Makaleleri:


Yazan: 09.04.16 20:37

101,387p 4ü