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, metodlarni 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.