Bugungi gaplashadigan mavzuyimiz ko'rib turganingizday struct
.
C# dasturlash tilida struct
- bu ma'lumotlar tuzilmasi bo‘lib, u bir nechta o‘zgaruvchilarni bitta birlik sifatida guruhlash uchun ishlatiladi.U huddi classga o'xshaydi, lekin structning qiymat turi value type bo'lsa, classniki reference type bo'ladi.
Member
- bu struct/class
ning a'zolariga nisbatan qo'llanadigan so'z.
Struct/Class
ning 3 ta memberi bor:
- Field
- Property
- Method
Field:
Biz bilgan oddiy ichida qiymat saqlovchi o'zgaruvchi deyish mumkin;Property:
Darvoza(Kirish eshigi) - ya'ni Fieldga qiymat saqlash uchun avvalo Propertydan o'tadi;Method:
Biz bilgan o'sha funksiya, ammo struct/classning ichida method deb nomlanadi;
Struct ichida constructor
ochish imkoniga egasiz!
Constructor(ctor)
: Struct/classdan qandaydir bir obyekt(jism) ochilganda avtomatik tarzda chaqiriladigan biz bilgan o'sha oddiy method.
Ctorning qaytaruvchi qiymati
bo'lmaydi
! Shuningdekvoid
ham debyozilmaydi
!
Ctor
-ctor
bo'lishi uchun ochiladigan methodningnomi structning nomi bilan bir xil
bo'lishi shart.
Structda "this"
kalit so'zi bor va u boshqa ctorni
chaqirish uchun ishlatiladi.
Bundan tashqari readonly
kalit so'zi ham ko'p martalab ishlatiladi.
Readonly
: Fieldni faqatgina o'qish uchun (ya'ni get
uchun) cheklab qo'yadi.Bu holatda unga qiymatni faqat ctorni ichida(ctorda)
bera olamiz.
public struct Circle
{
private int radius;
public int Radius
{
get => radius;
set
{
if(value > 0)
{
radius = value;
}
else
{
throw new Exception("Doira radiusi 0 ga teng yoki 0 dan kichik bo'lishi mumkin emas!");
}
}
}
public Circle(int radius)
{
Radius = radius;
}
public double GetArea() => radius * radius * Math.PI;
public double GetCircumference() => 2 * radius * Math.PI;
public void Print() => Console.WriteLine($"Doiraning yuzi: {GetArea()} \nDoiraning uzunligi: {GetCircumference()}");
public override string ToString()
{
return $"Doiraning yuzi: {GetArea()} \nDoiraning uzunligi: {GetCircumference()}";
}
}
Yana public
va private
kalit so'zlari mavjud.
Private - faqat struct ichida ko'rinadi.
Public - esa struct tashqarisida ham method sifatida ishlatilishi mumkun va ko'rinadi.
Koddagi Math.PI
methodi esa matematik pini ya'ni 3,14 yaki 22/7 ni beradi;
Top comments (0)