Linq texnologiyasi tavsifi
Download 124 Kb.
|
hhhh
2.3 C# dagi LINQ ni qo’llab quvvatlovchi jihatlar
Ushbu bo'limda C# 3.0 da kiritilgan yangi til konstruktsiyalari taqdim etiladi. Garchi bu yangi funksiyalarning barchasi LINQ so‘rovlari bilan bir darajada foydalanilgan bo‘lsa-da, ular LINQ bilan cheklanmaydi va ularni istalgan kontekstda foydalanish mumkin. So'rov ifodalari IEnumerable to'plamlari orqali so'rov qilish uchun SQL yoki XQuery ga o'xshash deklarativ sintaksisdan foydalanadi. Kompilyatsiya vaqtida so'rovlar sintaksisi LINQ provayderi tomonidan standart so'rovlar operatorini kengaytirish usullarini amalga oshirish uchun metod chaqiruvlariga aylantiriladi. Ilovalar foydalanish direktivasi bilan tegishli nomlar maydonini ko'rsatish orqali ko'lamdagi standart so'rov operatorlarini boshqaradi. Quyidagi so'rov ifodasi satrlar ro’yxatini qaytaradi, ularni satrdagi birinchi belgi bo'yicha guruhlarga ajratadi va guruhlarni tartibga soladi. var query = from str in stringArray group str by str[0] into stringGroup orderby stringGroup.Key select stringGroup; Oʻzgaruvchini eʼlon qilish va ishga tushirishda tipni aniq koʻrsatish oʻrniga, bu yerda koʻrsatilganidek, kompilyatorga tipni aniqlash va belgilashni koʻrsatish uchun var modifikatoridan foydalanish ham mumkin: var number = 5; var name = "Virginia"; var query = from str in stringArray where str[0] == 'm' select str; Var sifatida e'lon qilingan o'zgaruvchilar, turini aniq ko'rsatgan o'zgaruvchilar kabi qat’iy tarzda kiritiladi. Var dan foydalanish anonim turlarni yaratishga imkon beradi, lekin u faqat mahalliy(local) o'zgaruvchilar uchun ishlatilishi mumkin. Massivlar yashirin tarzda ham e'lon qilinishi mumkin. Standart so'rov operatorlari LINQ ni tashkil etuvchi usullardir. Ushbu usullarning aksariyati ketma-ketlikda ishlaydi, bunda ketma-ketlik tipi IEnumerable LINQ standart soʻrov operatorlarining ikkita toʻplami mavjud: biri IEnumerable Standart so'rov operatorlari bir xil qiymatni yoki qiymatlar ketma-ketligini qaytarishiga qarab, ularni bajarish vaqtlari farqlanadi. Yagona qiymat qaytaradigan usullar (masalan, Average va Sum) darhol bajariladi. Ketma-ketlikni qaytaradigan usullar so'rovlar bajarilishini kechiktiradi va sanab o'tiladigan ob'ektni qaytaradi. Xotiradagi to'plamlarda ishlaydigan metodlar uchun, ya'ni IEnumerable Aksincha, IQueryable Quyidagi kod misoli ketma-ketlik haqida ma'lumot olish uchun standart so'rov operatorlaridan qanday foydalanish mumkinligini ko'rsatadi: string sentence = "the quick brown fox jumps over the lazy dog"; // Split the string into individual words to create a collection. string[] words = sentence.Split(' '); // Using query expression syntax. var query = from word in words group word.ToUpper() by word.Length into gr orderby gr.Key select new { Length = gr.Key, Words = gr }; // Using method-based query syntax. var query2 = words. GroupBy(w => w.Length, w => w.ToUpper()). Select(g => new { Length = g.Key, Words = g }). OrderBy(o => o.Length); foreach (var obj in query) { Console.WriteLine("Words of length {0}:", obj.Length); foreach (string word in obj.Words) Console.WriteLine(word); } // This code example produces the following output: // // Words of length 3: // THE // FOX // THE // DOG // Words of length 4: // OVER // LAZY // Words of length 5: // QUICK // BROWN // JUMPS 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