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

Mar 17, 2025 - 16:09
 0
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)
    }
}

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.