Junior — Middle
რა განსხვავებაა მიმთითებელი ტიპების და მნიშვნელობით ტიპების შორის პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
C# dilində məlumat tipləri dəyər tipləri (value types) və istinad tipləri (reference types) kimi 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 edir. 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"
Əsas fərq — məlumatların necə saxlanması və kopyalanmasıdır: dəyər tipləri dəyərləri, istinad tipləri isə obyektlərə istinadları kopyalayır.