Struct
(Struktura)
– bu C#
dasturlash tilida qiymat tipidagi (value type)
ma’lumot tuzilmasi bo‘lib, obyekt yaratish va bir nechta o‘zgaruvchini guruhlash uchun ishlatiladi.
Struct
classga
o‘xshaydi, lekin u qiymat (value type)
sifatida ishlaydi va tezroq ishlaydi.
Struct
maydonlar (field)
, property’lar
, konstruktorlar
, metodlar
ni qo‘llab-quvvatlaydi.
Oddiy Structga misol
struct Point
{
public int X;
public int Y;
public void ShowPoint()
{
Console.WriteLine($"Nuqta koordinatalari: ({X}, {Y})");
}
}
class Program
{
static void Main()
{
Point p; // Struct yaratish
p.X = 10;
p.Y = 20;
p.ShowPoint(); // Natija: Nuqta koordinatalari: (10, 20)
}
}
Struct Konstructor bilan
struct Rectangle
{
public double Width;
public double Height;
public Rectangle(double width, double height) // Konstruktor
{
Width = width;
Height = height;
}
public double GetArea() => Width * Height; // Yuzani hisoblaydi
public double GetPerimeter() => 2 * (Width + Height); // Perimetrni hisoblaydi
}
class Program
{
static void Main()
{
Rectangle rect = new Rectangle(5, 3);
Console.WriteLine($"Yuza: {rect.GetArea()}"); // 15
Console.WriteLine($"Perimetr: {rect.GetPerimeter()}"); // 16
}
}
Struct cheklovlari:
Meros
ola olmaydi (inheritance yo‘q)
.
Null
bo‘la olmaydi (null qabul qilmaydi)
.
Default
konstruktor (parametrsiz)
yaratib bo‘lmaydi.
Struct
– qiymat turi (value type)
bo‘lib, tezroq ishlaydi va heap
emas, stack
xotirada saqlanadi.
Struct
kichik va oddiy obyektlar uchun ishlatiladi.
class
bilan solishtirganda tezroq ishlaydi, lekin kamroq imkoniyatlarga ega.