Junior — Middle
Оё String дар бисёр забонҳои барномасозӣ навъи истинод ё навъи арзиш аст?
sobes.tech AI
Ҷавоб аз AI
Бисёр забонҳои барномасозӣ сатрҳо (String) ҳамчун намуди ишора татбиқ шудаанд, на ҳамчун намуди арзиш.
Масалан, дар C# string як намуди ишора аст, ки ҳамчун объекти номутобиқ (immutable) рафтор мекунад. Ин маъно дорад:
- Тағйирёбандаи намуди
stringишора ба объект дар хотираро дорад. - Ҳангоми тағйир додани сатр, объект нав эҷод мешавад ва мавҷуда тағйир намеёбад.
- Бо сабаби номутобиқӣ, сатрҳоро метавон дар муҳити бисёрсоҳавӣ бехатар истифода бурд ва онҳоро кеш кард.
Ин аз намуди арзишҳо (масалан, int, struct) фарқ мекунад, ки мустақиман дар тағйирёбанда нигоҳ дошта мешаванд ва ҳангоми таъин кардан нусхабардорӣ мешаванд.
Масалан:
string a = "hello";
string b = a;
a = "world"; // b ҳоло ҳам "hello" аст, зеро сатрҳо номутобиқанд ва a ҳоло ба объекти нав ишора мекунад