16-Maruza: Kortejlar


Download 19.01 Kb.
bet1/3
Sana08.04.2023
Hajmi19.01 Kb.
#1341516
  1   2   3
Bog'liq
16-Ma\'ruza matni


16-Maruza: Kortejlar.
Kortejlar qiymatlar to'plamini qo'llab-quvvatlash uchun 7.0 versiyasidan boshlab C# da mavjud. Kortejlarning asosiy maqsadi bir nechta elementlarni soddalashtirilgan sintaksisga ega strukturaga umumlashtirishdir. Kortejlar System.ValueTuple turini talab qiladi. .NET Framework ning oldingi versiyalarida kortejlardan foydalanish uchun loyihangizga SystemValueTuple NuGet paketini qo'shishingiz kerak.
Tuplarning asosiy xususiyatlari:

kortejlar cheksiz miqdordagi elementlar bilan belgilanadi.


Kortejlar qiymat turidir.


Tuplelar = va != operatorlarini qo'llab-quvvatlaydi


Tuple qiymatlari umumiy maydonlardir.


Kortejlar C# 7.0 da qo'shilgan qiymatlar to'plami bilan ishlashning qulay usulini ta'minlaydi.

Tuple qavslar ichiga olingan qiymatlar to'plamini ifodalaydi:

var tuple = (5, 10);
Bunday holda, ikkita qiymatga ega bo'lgan kortej aniqlanadi: 5 va 10. Kelajakda biz ushbu qiymatlarning har biriga nomli maydonlar orqali kirishimiz mumkin:
Item[tupledagi_maydonning_seriya_raqami]
Misol:
var tuple = (5, 10);
Console.WriteLine(tuple.Item1); // 5
Console.WriteLine(tuple.Item2); // 10
tuple.Item1 += 26;
Console.WriteLine(tuple.Item1); // 31
Bunday holda, tur bevosita aniqlanadi. Ammo biz kortej o'zgaruvchisi uchun turni ham aniq belgilashimiz mumkin:
(int, int) tuple = (5, 10);
Kortej ikkita raqamni o'z ichiga olganligi sababli, tur ta'rifida ikkita raqamli turni ko'rsatishimiz kerak. Yoki to'plam ta'rifining yana bir misoli:
(string, int, double) person = ("Tom", 25, 81.23);
Bu holda kortejning birinchi elementi satr, ikkinchi element int, uchinchisi esa dubldir.

Shuningdek, kortej maydonlarini nomlashimiz mumkin:


var tuple = (count:5, sum:10);
Console.WriteLine(tuple.count); // 5
Console.WriteLine(tuple.sum); // 10
Endi, kortej maydonlariga murojaat qilish uchun Item1 va Item2 nomlari emas, balki ularning nomlari ishlatiladi.

Biz hatto bir qatorni alohida o'zgaruvchilarga ajratishimiz mumkin:


var (name, age) = ("Tom", 23);
Console.WriteLine(name); // Tom
Console.WriteLine(age); // 23


var tuple1 = (10, 23.4); Ikki qiymatli 10 va 23.4
Tuple qiymatlariga Item[raqam] tipidagi nomlari bo'lgan maydonlar orqali kirish mumkin, bu erda raqam kortejdagi qiymatning tartib raqamidir. Misol dasturini ko'rib chiqing:

Download 19.01 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling