orderby, ascending, descending
|
Natijaviy tanlanmani o’sish yoki kamayish tartibiga keltirish amallari
|
group, by
|
Ko’rsatilgan qiymat bo’yicha guruxlangan ma’lumotlar qism-to’plamini beradi
|
LINQ so’rovlari sintaksisi
LINQ so’rovi sintaksisining asosiy andozasi quyidagicha:
var natija = from solishtirishElementi in Konteyner select solishtirishElementi;
Konteynerdan muayyan qism to’plamni olish uchun esa quyidagi andozadan foydalanish mumkin:
var natija = from Element in Konteyner where MantiqiyIfoda select Element;
Masalan, butun sonlar uzra LINQ so’rovini ushbu metod bilan amalga oshirish mumkin:
// Butun sonlar massivi uzra LINQ so'rovi
static void ButunSonlarUzraSorov()
{
int[] butunSonlar = { 10, 20, 30, 40, 1, 2, 3, 8 };
// 10 dan kichik elementlarni tanlash va chiqarish.
IEnumerable qismToplami = from i
in butunSonlar
where i < 10
select i;
foreach (int i in qismToplami)
Console.WriteLine("10 dan kichik element: {0}", i);
}
Ma’ruza 12 (38)
Mavzu: LINQ so’rovlar
So’rovlar. Qism so’rovlar. Proyektsiyalash. Boshqa turga keltirish. Agregatsiya metodlari.
Reja:
So’rovlar. Qism so’rovlar
Proyektsiyalash. Boshqa turga keltirish (474-bet)
Agregatsiya metodlari.
So’rovlar. Qism so’rovlar.
O’tgan ma’ruzamizda LINQ so’rovlarining ahamiyati, ularning dasturchi ishini osonlashtirishi, shuningdek, ularning shakli haqida gapirgan edik.
Endi shu LINQ so’rovlarini tashkil etishni ko’rib chiqaylik. Buning uchun Visual Studio 2022 dasturlash muhitida LinqSorovlari degan yangi ilova ochamiz va unda quyidagi ko’rinishdagi yangi sinfni kiritamiz:
class MahsulotInfo
{
public string Nomi { get; set; } = "";
public string Tavsifi { get; set; } = "";
public int OmbMiqdori { get; set; } = 0;
public override string ToString()
=> $"Nomi= {Nomi}, Tavsifi= {Tavsifi},
Ombordagi Miqdori= {OmbMiqdori}";
}
Ko’rib turibmizki, bu sinf a’zolariga uchta xossa va bitta metod kiradi: System.Object sinfining ToString() metodi bu bizning sinfimizda qayta yozilgan, ya’ni “override” qilingan.
Endi mana shu toifaga oid massivni Main() metodi ichida to’ldiramiz, bundan maqsad LINQ so’rovlarini o’rganish uchun zamin hozirlashdir:
static void Main(string[] args)
{ Console.WriteLine("******* So'rov ifodalari bilan ishlash *****\n");
// Bu massiv tekshirish uchun asos bo'lib xizmat qiladi
MahsulotInfo[] omborTovarlari = new[]
{
new MahsulotInfo // 1
{ Nomi = "Kofe Pele",
Tavsifi = "Braziliya, 100 gr.",
OmbMiqdori = 24
},
new MahsulotInfo // 2
{ Nomi = "Nestle",
Tavsifi = "Sut, 1 litr",
OmbMiqdori = 100
},
new MahsulotInfo // 3
{ Nomi = "Avedov",
Tavsifi = "Pista yog'i, 1 litr",
OmbMiqdori = 120
},
new MahsulotInfo // 4
{ Nomi = "Hydrolife",
Tavsifi = "Suv, 10 litr",
OmbMiqdori = 2
},
new MahsulotInfo // 5
{ Nomi = "Fanta",
Tavsifi = "Ichimlik, 1.5 litr",
OmbMiqdori = 100
},
new MahsulotInfo // 6
{ Nomi = "Premium",
Tavsifi = "Plitka shokolad, 100 gram",
OmbMiqdori = 73
}
};
// Bu yerda turli metodlar chaqiriladi
Console.ReadLine();
} //static void Main(string[] args)
Endi quyidagi tarkibida oddiy LINQ so’rovi tashkil etilgan metodni ko’raylik:
static void HarBiriniTanlash(MahsulotInfo[] mahsulotlar)
{
// Hammasini olish
Console.WriteLine("Barcha mahsulotlar tafsilotlari:");
Do'stlaringiz bilan baham: |