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.