Linq texnologiyasi tavsifi
-rasm LINQ da so’rovlar va metodlar sintaksisi
Download 124 Kb.
|
hhhh
2.2.3-rasm
LINQ da so’rovlar va metodlar sintaksisi Integratsiyalashgan til soʻrovi (LINQ) hujjatlaridagi koʻpgina soʻrovlar LINQ deklarativ soʻrovlar sintaksisi yordamida yoziladi. Biroq, kod tuzilganda so'rovlar sintaksisi .NET umumiy til ish vaqti (CLR) uchun usul chaqiruvlariga o’girilishi kerak. Ushbu usul chaqiruvlari where, select, GroupBy, join, max va average kabi nomlarga ega bo'lgan standart so'rov operatorlarini chaqiradi. Ularni so'rovlar sintaksisi o'rniga metodlar sintaksisidan foydalanib to'g'ridan-to'g'ri chaqirish mumkin. So'rovlar sintaksisi va metodlar sintaksisi ma’noviy jihatdan bir xil, ammo ko'pchilik so'rov sintaksisini sodda va o'qilishi oson deb biladi. Ba'zi so'rovlar metod chaqiruvi sifatida ifodalanishi kerak. Misol uchun, belgilangan shartga mos keladigan elementlar sonini oladigan so'rovni ifodalash uchun metod chaqiruvidan foydalanishingiz kerak. Shuningdek, manba ketma-ketligida maksimal qiymatga ega bo'lgan elementni oladigan so'rov uchun metod chaqiruvidan foydalanishingiz kerak. System.Linq nom maydonidagi standart so'rov operatorlari uchun mos yozuvlar hujjatlari odatda metod sintaksisidan foydalanadi. Shuning uchun, LINQ so'rovlarini yozishni boshlaganda ham, so'rovlarda va so'rov ifodalarining o'zida metodlar sintaksisidan qanday foydalanishni bilish foydali bo'ladi. Quyidagi misolda oddiy so'rov ifodasi va metodga asoslangan so'rov(method-based query) sifatida yozilgan ma’noviy ekvivalent so'rov ko'rsatilgan: class QueryVMethodSyntax { static void Main() { int[] numbers = { 5, 10, 8, 3, 6, 12}; //Query syntax: IEnumerable from num in numbers where num % 2 == 0 orderby num select num; //Method syntax: IEnumerable foreach (int i in numQuery1) { Console.Write(i + " "); } Console.WriteLine(System.Environment.NewLine); foreach (int i in numQuery2) { Console.Write(i + " ");} // Keep the console open in debug mode. Console.WriteLine(System.Environment.NewLine); Console.WriteLine("Press any key to exit"); Console.ReadKey(); }} /* Output: 6 8 10 12 6 8 10 12 */ Ikki misoldan olingan natijalar bir xil. So'rov o'zgaruvchisining turi ikkala shaklda ham bir xil ekanligini ko'rishingiz mumkin: IEnumerable Metodga asoslangan so'rovni tushunish uchun uni batafsilroq ko'rib chiqamiz. Ifodaning o'ng tomonida, where bandi endi raqamlar ob'ektida misol usuli sifatida ifodalanganiga e'tibor bersak, IEnumerable Garchi IEnumerable Download 124 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling