Преглед садржаја:
Дефиниција - Шта значи мутабле тип?
Променљиви тип у Ц # је врста објекта чији се чланови, као што су својства, подаци и поља, могу мењати након креирања.
Променљиви типови се користе у паралелним апликацијама, где се објекти типа променљиве вредности одржавају у скупу помоћу Цоммон Лангуаге Рунтиме (ЦЛР). Ово омогућава одређену оптимизацију, што га чини бржим од објеката који су додељени хеапом. Да се спрече грешке у синхронизацији код паралелних апликација због више нити које приступају заједничким подацима, користе се мутабилни типови са неким механизмом закључавања.
Захваљујући својственој природи, подаци о променљивом типу могу се мењати током времена извођења, па се мутирани тип често користи када објект садржи велику количину променљивих података. Иако мутабилни тип није тако сигуран и сигуран као непромењив тип, чешће се користи са променљивим вредностима, које се додељују у скупу, побољшавајући перформансе.
Тецхопедиа објашњава мутабле Типе
Сви типови уграђених вредности као што су инт, доубле, итд. Су променљиви типови и могу се учинити непроменљивим додавањем модификатора „само за читање“ пре променљивих. Ако је спецификација која се може мењати, одређена са модификатором за читање, Ц # преводилац генерише упозорење. Додавањем модификованог модификатора у поље референтног типа, поље се не може заменити другом инстанцом референтног типа, али ће дозволити да се подаци примерака измене путем референтног типа.
На пример, СтрингБуилдер је изменљиви референтни тип у .НЕТ оквирној библиотеци, кроз који се вредност низа инстанције створене из овог типа може мењати додавањем, уклањањем, заменом или уметањем знакова.
Тип који се може мењати не би требало да потиче од непромењивог типа, јер постоји могућност да виртуелна метода у изведеној класи превлада тако да се непроменљиви чланови преписују.
Главно ограничење мутабилног типа је то што приликом преношења објекта мутабилног типа (попут структуре) додјељивањем локалне варијабле или као параметра методи прелази вриједност објекта, а не самог објекта. Овим се копија објекта мутира, а не оригинал. Ово понашање може довести до неочекиваних грешака.