1-Mavzu: Kortejlar. Sanab o’tiluvchi tur


Usul natijasida hosil bo'lgan kortej


Download 28.2 Kb.
bet2/5
Sana09.02.2023
Hajmi28.2 Kb.
#1179975
1   2   3   4   5
Usul natijasida hosil bo'lgan kortej. Kortejlar funksiya natijasi sifatida harakat qilishi mumkin. Masalan, keng tarqalgan vaziyatlardan biri funksiya ikki yoki undan ortiq qiymatlarni qaytarsa, funksiya faqat bitta qiymatni qaytarishi mumkin. Va kortejlar ushbu masalani bajarishning eng maqbul usulini ifodalaydi:
var tuple = GetValues();
Console.WriteLine(tuple.Item1); // 1
Console.WriteLine(tuple.Item2); // 3
(int, int) GetValues()
{
var result = (1, 3);
return result;
}

Mana, kortejni qaytaruvchi GetValues() usuli. Kortej qavslar ichiga olingan qiymatlar to'plami sifatida aniqlanadi. Va bu holda, biz int tipidagi ikkita elementdan iborat kortejni, ya'ni ikkita raqamni qaytaramiz.


Yana bir misol:
var tuple = GetValuesData(new int[] { 1, 2, 3, 4, 5, 6, 7 });
Console.WriteLine(tuple.count);
Console.WriteLine(tuple.sum);
(int sum, int count) GetValuesData(int[] numbers)
{
var result = (sum: 0, count: numbers.Length);
foreach(var n in numbers)
{
result.sum += n;
}
return result;
}


Kortej metodning parametri sifatida.
Shuningdek, kortejni parametr sifatida usulga o'tkazish mumkin:
sPrintPerson(("Tom", 37)); // Tom - 37
PrintPerson(("Bob", 41)); // Bob - 41
void PrintPerson((string name, int age) person)
{
Console.WriteLine($"{person.name} - {person.age}");
}
Bu yerda ikkita elementdan iborat kortej PrintPerson usuliga uzatiladi, birinchisi qatorni, ikkinchisi esa int tipidagi qiymatni beradi.


2. Sanab o’tiluvchi tur.
Primitiv ma'lumotlar turlaridan tashqari, C # dasturlash tilida enum yoki enumeration kabi tur mavjud. Sanoqlar mantiqiy bog'liq konstantalar to'plamini ifodalaydi.
Ro'yxatga olish enum operatori yordamida e'lon qilinadi:
enum sanab-o’tiluvchi-tur_nomi
{
// sanab-o’tiluvchi-tur qiymati
qiymat1,
qiymat2,
.......
qiymatN
}

enum operatoridan keyin sanab nomi keladi. Va keyin ro'yxatga olish konstantalari vergul bilan ajratilgan jingalak qavslar ichida keltirilgan.


Keling, eng oddiy sanabni aniqlaylik:
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}

U to'rtta qiymatga ega bo'lgan DayTime ro'yxatini belgilaydi: Morning, Afternoon, Evening va Night.


Har bir ro'yxatga olish haqiqatda yangi ma'lumotlar turini belgilaydi, uning yordamida biz, shuningdek, har qanday boshqa turdagi yordamida o'zgaruvchilar, konstantalar, usul parametrlari va boshqalarni aniqlashimiz mumkin. Ushbu sanab o'tilgan konstantalardan biri o'zgaruvchining, doimiyning va raqamni ifodalovchi usul parametrining qiymati sifatida ishlatilishi kerak, masalan:
const DayTime dayTime = DayTime.Morning;

Bundan tashqari, dasturda biz boshqalar kabi o'xshash o'zgaruvchilar / konstantalar / parametrlardan foydalanishimiz mumkin:


DayTime dayTime = DayTime.Morning;
if(dayTime == DayTime.Morning)
Console.WriteLine("Hayrli tong");
else
Console.WriteLine("Salom");
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}



Download 28.2 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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