Junior — Middle
Эмгектеги эселүү маалыматтардын түзүмү кандайча уюштурулган?
sobes.tech AI
AIден жооп
C# тилинде, жол (string) өзгөрүлбөс (immutable) объект болуп саналат жана эс тутумда UTF-16 коддоосундагы белгилердин үзүндүсү катары көрсөтүлөт.
String маалымат түзүмү эс тутумда төмөнкүлөрдү камтыйт:
- Башкарылуучу кутучада (heap) объект, ал төмөнкүлөрдү камтыйт:
- Объекттин башаты (метадата, жыйноочу жана түр үчүн).
- Жолдун узундук талаасы (белгилердин саны).
- Ар бир белгиси 2 байт (UTF-16) алатын
char[]белгилер массиви.
Жолдор өзгөрүлбөс болгондуктан, өзгөртүү учурунда жаңы объект түзүлөт, ал эми эскиси жыйноочу тарабынан тазаланганга чейин эс тутумда калат.
Мисал:
string s = "Мисал";
// Эс тутумда, s 6 узундуктагы объектти сактайт жана белгилер массиви 'М','и','с','а','л'
Ошентип, жол — бул белгилердин туруктуу узундугу жана үзүндүсү бар объект, ал .NETте коопсуз жана эффективдүү колдонуу үчүн оптималдаштырылган.