DEV Community

Alisher Maxamadjonov
Alisher Maxamadjonov

Posted on

C# Struct

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)
    }
}

Enter fullscreen mode Exit fullscreen mode

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
    }
}
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)