Sobes.tech
Junior — Middle

Programlamada referans tipleri ile değer tipleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde veri tipleri değer tipleri (value types) ve referans tipleri (reference types) olarak ikiye ayrılır.

Değer tipleri veriyi doğrudan saklar. Bir atama veya metoda geçirilirken, değer kendisi kopyalanır. Örnekler: int, double, struct, bool.

Referans tipleri ise verilerin bulunduğu bellek alanına bir referans tutar. Atama sırasında, referans kopyalanır, veriler değil, bu yüzden birkaç değişken aynı nesneye işaret edebilir. Örnekler: class, string, array.

Örnek:

int a = 5;
int b = a; // 5 değeri kopyalanır
b = 10;
// a hâlâ 5

class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // referans kopyalanır
p2.Name = "Bob";
// p1.Name artık "Bob"

Bu nedenle, temel fark, verilerin nasıl saklandığı ve kopyalandığıdır: değer tipleri değerleri kopyalar, referans tipleri nesnelere referansları kopyalar.