Sobes.tech
Junior — Middle

Структураи маълумоти String дар хотираи амалиётӣ чӣ гуна ташкил шудааст?

sobes.tech AI

Ҷавоб аз AI

Дар C# сатр (string) объекти тағйирнопазир (immutable) аст, ки дар хотира ҳамчун пайдарпайии аломатҳо дар кодекси UTF-16 намоиш дода мешавад.

Сохтори маълумоти String дар хотира дарбар мегирад:

  • Объект дар хати идорашаванда (heap), ки дорои:
    • Сарлавҳаи объект (метадатаҳо барои ҷамъкунандаи партов ва навъ).
    • Майдони дарозии сатр (соли аломатҳо).
    • Масиви аломатҳо char[], ки ҳар аломат 2 байт (UTF-16) мегирад.

Азбаски сатрҳо тағйирнопазиранд, дар вақти тағйирот объект нав сохта мешавад, ва кӯҳна дар хотира боқӣ мемонад то ҷамъкунандаи партов онро тоза кунад.

Масалан:

string s = "Масалан";
// Дар хотира, s объект бо дарозии 7 ва масиви аломатҳо 'М','а','с','а','л','а','н'

Аз ин рӯ, сатр объект бо дарозии муайян ва пайдарпайии аломатҳо мебошад, ки барои истифодаи бехатар ва самаранок дар .NET оптимизатсия шудааст.