![]()
Şİmdide Linq da Sorgulama yaparken şart koşma ve Bunları sıralama işlemleri nasıl yapılır onlara bakacağız. Fitreleme ve Sıralama yaparken kullandıklarımız;
Where ile filtreleme yapıp şart koşarız, Sıralama yaparken de OrderBy , OrderByDescending, ThenBy , ThenByDescending , Reverse methodlarını kullanıyoruz.
where : Filtreleme yaparak şartlarımızı koşarız.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
string[] countries = { “Adana”, “Sivas”, “Erzurum”, “Trabzon”, “İstanbul”, “İzmir”,“Adıyaman” }; var result = countries.Where(x => x.StartsWith(“A”) && x.Length >= 5); foreach (var country in result) { Console.WriteLine(country); } //Output: //Adana //Adıyaman |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
List<Student> objStudent = new List<Student>() { new Student() { Name = “Suresh Dasari”, Gender = “Male”,Age=20 }, new Student() { Name = “Rohini Alavala”, Gender = “Female”, Age=35 }, new Student() { Name = “Praveen Alavala”, Gender = “Male”,Age=55 }, new Student() { Name = “Sateesh Alavala”, Gender = “Male”, Age =30}, new Student() { Name = “Madhav Sai”, Gender = “Male”, Age=27} }; var query = from d in objStudent where(d.Gender == “Male” && d.Age <= 30) select new { d.Name, d.Age }; foreach (var obj in query.ToList()) { Console.WriteLine(obj); } //Output: //{ Name = Suresh Dasari, Age = 20 } //{ Name = Sateesh Alavala, Age = 30 } //{ Name = Madhav Sai, Age = 27 } } } class Student { public string Name { get; set; } public string Gender { get; set; } public int Age { get; set; } } |
OrderBy : Listede bulunan elemanları Küçükten => Büyüğe yada A => Z ye yada Baştan => Sona sıralar.
OrderByDescending : Listede bulunan elemanları Büyükten => Küçüğeğe yada Z => A ye yada Sondan => Başa sıralar
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var query = (from d in objStudent where(d.Gender == “Male” && d.Age <= 30) select new { d.Gender }).OrderBy(i => i.Gender); //OrderBy : Küçükten => Büyüğe ve A => Z ye sıralar var query1 = (from d in objStudent where (d.Gender == “Male” && d.Age <= 30) select new { d.Name, d.Age }).OrderByDescending(i => i.Age); //OrderByDescending : Büyükten => Küçüğeğe ve Z => A ye sıralar |
ThenBy : Listede bulunan elemanları 2. bir sıralamada Küçükten => Büyüğe ve A => Z ye sıralar
ThenByDescending : Listede bulunan elemanları 2. bir sıralamada Büyükten => Küçüğeğe ve Z => A ye sıralar
Not: İlk sıralamada Tür aynı olması lazım. Mesela , Listedeki Kadınların yaşını küçükten büyüğe sıralama gibi.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
List<Student> objStudent = new List<Student>() { new Student() { Name = “Suresh Dasari”, Gender = “Male”,Age=20 }, new Student() { Name = “Rohini Alavala”, Gender = “Male”, Age=35 }, new Student() { Name = “Praveen Alavala”, Gender = “Male”,Age=55 }, new Student() { Name = “Sateesh Alavala”, Gender = “Male”, Age =30}, new Student() { Name = “Madhav Sai”, Gender = “Male”, Age=27} }; var query = (from d in objStudent where(d.Gender == “Male” && d.Age <= 30) select new { d.Gender, d.Age }).OrderBy(i => i.Gender).ThenBy(i => i.Age); //ThenBy : 2. bir sıralamada Küçükten => Büyüğe ve A => Z ye sıralar //Output: //{ Gender = Male, Age = 20 } //{ Gender = Male, Age = 27 } //{ Gender = Male, Age = 30 } ————————————————————————————————————————————————————————————— var query1 = (from d in objStudent where (d.Gender == “Male” && d.Age <= 30) select new { d.Gender, d.Age }).OrderByDescending(i => i.Gender).ThenByDescending(i => i.Age); //ThenByDescending 2. bir sıralamada Büyükten => Küçüğeğe ve Z => A ye sıralar //Output: //{ Gender = Male, Age = 30 } //{ Gender = Male, Age = 27 } //{ Gender = Male, Age = 20 } } } class Student { public string Name { get; set; } public string Gender { get; set; } public int Age { get; set; } } |
Reverse : Listede bulunan elemanları, tersten sıralayarak döndürmeyi sağlar
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
int[] Num = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; foreach (int i in Num.Reverse()) { Console.WriteLine(i); } //Output: 9,8,7,6,5,4,3,2,1 string[] countries = { “Adana”, “Sivas”, “Erzurum”, “Trabzon”, “İstanbul”, “İzmir”,“Adıyaman” }; foreach (var item in countries.Reverse()) { Console.WriteLine(item); } //Output: Adıyaman,İzmir,İstanbul,Trabzon,Erzurum,Sivas,Adana |
sağlıcakla kalın…








Bir yanıt yazın