Sobes.tech
Junior — Middle

C# тилинде шилтемдик түрлөр менен маанилүү түрлөрдүн айырмасы эмнеде экенин түшүндүрө аласызбы?

sobes.tech AI

AIден жооп

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

  • Маанилүү түрлөр маалыматтарды түздөн-түз сактайт. Белгилөө же методго өткөрүүдө мааниси көчүрүлөт. Мисалдар: int, double, struct.
  • Шилтемелүү түрлөр маалыматтар жайгашкан эс тутум аймагына шилтемени сактайт. Белгилөөдө, гана шилтеменин көчүрмөсү алынып, маалыматтар эмес. Мисалдар: class, string, массивдер.

Мисал:

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

class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // p2 жана p1 бир эле объектке шилтеме кылат
p2.Name = "Bob"; // эми p1.Name дагы "Bob" болот

Мындайча айтканда, шилтемелүү түрлөрүндөгү өзгөртүүлөр бир өзгөрмө аркылуу бардык шилтемелерге чагылат, ал эми маанилүү түрлөрдө — жок.