Sobes.tech
Junior — Middle

Bir programlama dilinde yapı, değer tipi mi yoksa referans tipi mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde, yapı (struct) bir değer türüdür (value type) ve referans türü değildir.

Bu, bir yapıyı atarken veya bir metoda geçirirken, tüm verilerinin kopyasının yapıldığı ve bellekteki nesneye referansın geçirilmediği anlamına gelir; bu, sınıflar (referans türleri) ile olan farktır.

Örnek:

struct Point
{
    public int X;
    public int Y;
}

Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // p1'in bir kopyası oluşturulur
p2.X = 10;
// p1.X değeri 1 kalır, çünkü p2 bir kopyadır

Bu davranış, C# uygulamalarını tasarlarken ve optimize ederken dikkate alınması gereken önemli bir özelliktir.