Junior — Middle
Proqramlaşdırmada istinad növü ilə dəyər növü arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində məlumat tipləri dəyər tipləri (value types) və istinad tipləri (reference types) olaraq bölünür.
Dəyər tipləri məlumatları birbaşa saxlayır. Təyin və ya metoda ötürülərkən, öz dəyəri kopyalanır. Nümunələr: int, double, struct, bool.
İstinad tipləri məlumatların yerləşdiyi yaddaş sahəsinə istinad saxlayır. Təyin edilərkən, istinad kopyalanır, məlumatlar yox, ona görə də bir neçə dəyişən eyni obyektə işarə edə bilər. Nümunələr: class, string, array.
Nümunə:
int a = 5;
int b = a; // 5 dəyəri kopyalanır
b = 10;
// a hələ də 5
class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // istinad kopyalanır
p2.Name = "Bob";
// p1.Name indi "Bob"
Buna görə də, əsas fərq məlumatların necə saxlanması və kopyalanmasıdır: dəyər tipləri dəyərləri kopyalayır, istinad tipləri obyektlərə istinadları kopyalayır.