1-Ma’ruza Mavzu: Mobil operatsion tizimlarning rivojlanish tarixi


Download 140.08 Kb.
bet4/6
Sana09.02.2023
Hajmi140.08 Kb.
#1180454
1   2   3   4   5   6
Bog'liq
DT 12-mavzu

string tomId = (string)tom.Id;

// ! Xato – InvalidCastException istisno holati.

Console.WriteLine(tomId); // 546

Biz qaysi ob'ekt Id ni ifodalashini bilmasligimiz mumkin va bu holda raqam olishga urinayotganda InvalidCastExceptionga duch kelamiz. Bundan tashqari, dasturni bajarish bosqichida biz istisnoga duch kelamiz.

Ushbu muammolarni hal qilish uchun C# ga umumiy turlarni qo'llab-quvvatlash (ko'pincha umumiy turlar deb ham ataladi) qo'shildi. Umumiy turlar foydalanish uchun ma'lum bir turni belgilash imkonini beradi. Shuning uchun, keling, Person sinfini umumiy sifatida aniqlaymiz:

class Person {

public T Id { get; set; }

public string Name { get; set; }

public Person(T id, string name){ Id = id; Name = name; }

}

class Person tavsifidagi burchakli qavslar sinf umumiy ekanligini bildiradi va burchakli qavslar ichiga olingan T turi bu sinf tomonidan qo'llaniladi. T harfini ishlatish shart emas, u boshqa har qanday harf yoki belgilar to'plami bo'lishi mumkin. Kodni yozish bosqichida, biz qanday turdagi bo'lishini bilmaymiz, u har qanday turdagi bo'lishi mumkin. Shuning uchun burchakli qavslardagi T parametri umumiy parametr deb ham ataladi, chunki uni har qanday turdagi almashtirish mumkin.

Masalan, T parametri o'rniga int ob'ektidan, ya'ni foydalanuvchi raqamini ifodalovchi raqamdan foydalanish mumkin. Shuningdek, u string ob'ekti yoki boshqa sinf yoki struktura bo'lishi mumkin:

Person tom = new Person(546, "Tom"); // jamlash shart emas

Person bob = new Person("abc123", "Bob");

int tomId = tom.Id; // yoyish shart emas

string bobId = bob.Id; // har qanday turdagi konvertatsiya kerak emas

Console.WriteLine(tomId); // 546

Console.WriteLine(bobId); // abc123


Download 140.08 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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