Sobes.tech
Junior — Middle

Программалоодо шилтемелүү түрлөрү менен маанилүү түрлөрү кандай айырмаланат?

sobes.tech AI

AIден жооп

C# тилинде маалымат түрлөрү маанилүү (value types) жана шилтемелүү (reference types) түрлөргө бөлүнөт.

Маанилүү түрлөр маалыматтарды түздөн-түз сактайт. Белгилөө же методко өткөрүүдө, өзү мааниси көчүрүлөт. Мисалдар: int, double, struct, bool.

Шилтемелүү түрлөр маалыматтар жайгашкан эс тутум аймагына шилтемени сактайт. Белгилөөдө шилтеме көчүрүлөт, маалыматтар эмес, ошондуктан бир нече өзгөрмө бир эле объектке шилтеме кылышы мүмкүн. Мисалдар: class, string, array.

Мисал:

int a = 5;
int b = a; // 5 мааниси көчүрүлөт
b = 10;
// a дагы эле 5

class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // шилтеме көчүрүлөт
p2.Name = "Bob";
// p1.Name азыр "Bob"

Негизги айырма — маалыматтарды сактоо жана көчүрүү ыкмасы: маанилүү түрлөрү маанилерди көчүрөт, шилтемелүү — объекттерге шилтемелерди.