20.06.16 21:15
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; public class Ogrenci { public string Adi { get; set; } public string Soyadi { get; set; } public int No { get; set; } public List<int> Yazililar; } olduğunu, kullanılan listenin de; List<Ogrenci> ogrenciler = new List<Ogrenci> { new Ogrenci {Adi="Kenan", Soyadi="Oran", No=111, Yazililar = new List<int> {97, 72, 60}}, new Ogrenci {Adi="Erhan", Soyadi="Erkanlı", No=112, Yazililar = new List<int> {75, 84, 39}}, new Ogrenci {Adi="Tekin", Soyadi="Uğurlu", No=113, Yazililar = new List<int> {99, 89, 95}}, new Ogrenci {Adi="Mehmet", Soyadi="Emre", No=114, Yazililar = new List<int> {72, 81, 84}}, new Ogrenci {Adi="Ercan", Soyadi="Orak", No=115, Yazililar = new List<int> {97, 89, 82}}, }; olduğunu varsayarak aşağıdaki örneği inceleyin. var query = from ogrenci in ogrenciler where ogr.Yazililar[0] >= 55 orderby ogr.Yazililar[0] select ogr; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55) .OrderBy(ogr => ogr.Yazililar[0]); */ 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. var query = from ogrenci in ogrenciler where ogr.Yazililar[0] >= 55 orderby ogr.Yazililar[0] descending select ogr; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55) .OrderByDescending(ogr => ogr.Yazililar[0]); */ 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: LINQ Örnekleri makalelerinde kullanılan verikaynağı LINQ (Language Integrated Query - Dile Entegre Edilmiş Sorgu) Nedir? LINQ Sağlayıcıları (LINQ Providers) LINQ Yöntem Sözdizimi (LINQ Method Syntax) LINQ - Temel İşlemler - Bir Veri Kaynağı Bildirme ve Seçme (From ve Select) LINQ - Temel İşlemler - Süzme (Filtering) LINQ - Temel İşlemler - Sıralama (Ordering) (Bu makale) LINQ - Temel İşlemler - Gruplama (Grouping) LINQ - Temel İşlemler - Birleştirme (Joining) LINQ - Deferred Execution - Ertelenmiş Çalıştırma LINQ - Immediate Execution - Anında Çalıştırma LINQ - Query Reuse - Sorgunun Yeniden Kullanımı LINQ - Kısıtlama (Restriction) Kullanım Örnekleri LINQ - Yansıtma (Projection) - Select Kullanım Örnekleri LINQ - Yansıtma (Projection) - SelectMany Kullanım Örnekleri LINQ - Bölümleme (Partitioning) Örnekleri LINQ - Sıralama (Ordering) Örnekleri LINQ - Gruplama (Grouping) Örnekleri LINQ - Küme (Set) Örnekleri LINQ - Dönüşüm (Conversion) Örnekleri LINQ - Eleman (Element) Seçimi Örnekleri LINQ - Oluşturma (Generation) Örnekleri LINQ - Miktar Belirleyiciler (Quantifiers) Örnekleri LINQ - Yığın (Aggregate) Örnekleri LINQ - Birleştirme (Join) İşlemleri LINQ - Özel Dizilim (Custom Sequence) Örneği LINQ - Concat ve SequenceEqual İle Örnekle r
Ekleyen: canora
Değiştiren: canora
09.04.16 20:37
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; public class Ogrenci { public string Adi { get; set; } public string Soyadi { get; set; } public int No { get; set; } public List<int> Yazililar; } olduğunu, kullanılan listenin de; List<Ogrenci> ogrenciler = new List<Ogrenci> { new Ogrenci {Adi="Kenan", Soyadi="Oran", No=111, Yazililar = new List<int> {97, 72, 60}}, new Ogrenci {Adi="Erhan", Soyadi="Erkanlı", No=112, Yazililar = new List<int> {75, 84, 39}}, new Ogrenci {Adi="Tekin", Soyadi="Uğurlu", No=113, Yazililar = new List<int> {99, 89, 95}}, new Ogrenci {Adi="Mehmet", Soyadi="Emre", No=114, Yazililar = new List<int> {72, 81, 84}}, new Ogrenci {Adi="Ercan", Soyadi="Orak", No=115, Yazililar = new List<int> {97, 89, 82}}, }; olduğunu varsayarak aşağıdaki örneği inceleyin. var query = from ogrenci in ogrenciler where ogr.Yazililar[0] >= 55 orderby ogr.Yazililar[0] select ogr; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55) .OrderBy(ogr => ogr.Yazililar[0]); */ 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. var query = from ogrenci in ogrenciler where ogr.Yazililar[0] >= 55 orderby ogr.Yazililar[0] descending select ogr; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Where(ogr => ogr.Yazililar[0] >= 55) .OrderByDescending(ogr => ogr.Yazililar[0]); */ 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.
Ekleyen: canora