C# Kortejlar C# kartejlarni e’lon qilish


Download 260.19 Kb.
bet3/28
Sana18.06.2023
Hajmi260.19 Kb.
#1574109
1   2   3   4   5   6   7   8   9   ...   28
Bog'liq
dasturlash tyorya 8 shrift

7/1 C# Strukturalar
Sinflar bilan bir qatorda tuzilmalar C# da o'z ma'lumotlar turlarini yaratishning yana bir usulini taqdim etadi. Bundan tashqari, int, double va boshqalar kabi ko'plab ibtidoiy tiplar mohiyatan strukturadir.
struct kalit so'zi strukturani aniqlash uchun ishlatiladi :

struct имя_структуры
{ // элементы структуры
}

Struktura so'zidan keyin strukturaning nomi keladi, so'ngra strukturaning elementlari - maydonlar, usullar va boshqalar jingalak qavslar ichida joylashtiriladi.

7/2 Struktura ob'ektini yaratish

Konstruktor yordamida ishga tushirish


Strukturadan foydalanish uchun uni ishga tushirish kerak. Struktura ob'yektlarini yaratishni ishga tushirish uchun, sinflarda bo'lgani kabi, konstruktorga yangi operator bilan qo'ng'iroqdan foydalaniladi . Tuzilish kodida hech qanday konstruktor aniqlanmagan bo'lsa ham, u kamida bitta konstruktorga ega - kompilyator tomonidan yaratilgan standart konstruktor. Ushbu konstruktor hech qanday parametrlarni qabul qilmaydi va standart qiymatlarga ega struktura ob'ektini yaratadi.

To'g'ridan-to'g'ri maydonni ishga tushirish


Agar strukturaning barcha maydonlari mavjud bo'lsa (shaxs strukturasining umumiy o'zgartiruvchiga ega bo'lgan maydonlarida bo'lgani kabi ), u holda konstruktorni chaqirmasdan strukturani ishga tushirish mumkin. Bunday holda, maydon qiymatlarini olishdan va strukturaning usullarini chaqirishdan oldin strukturaning barcha maydonlariga qiymatlarni belgilashingiz kerak.
Strukturani ishga tushirish
Initsializatordan foydalanilganda birinchi navbatda parametrsiz konstruktor chaqiriladi: agar biz parametrsiz konstruktorni aniq belgilamasak, u holda standart konstruktor chaqiriladi. Va keyin uning maydonlariga tegishli qiymatlar beriladi.bilan strukturani nusxalash. Agar biz qiymatlarni boshqasidan bitta struktura ob'ektiga kichik o'zgarishlar bilan nusxalashimiz kerak bo'lsa, biz with iborasidan foydalanishimiz mumkin :

Person tom = new Person { name = "Tom", age = 22 };
Person bob = tom with { name = "Bob" };
bob.Print();// Имя: Bob Возраст: 22

Bunday holda, bob ob'ekti tom ob'ektining barcha qiymatlarini oladi, so'ngra with iborasidan keyin jingalak qavs ichida biz o'zgartirmoqchi bo'lgan qiymatlar bilan maydonlar ko'rsatiladi

Download 260.19 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   28




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