Obsah:
Definice - Co znamená Meable Type?
Proměnný typ v C # je typ objektu, jehož datové členy, jako jsou vlastnosti, data a pole, lze po vytvoření změnit.
Proměnné typy se používají v paralelních aplikacích, kde objekty typu proměnné hodnoty jsou v zásobníku udržovány pomocí Common Language Runtime (CLR). Toto poskytuje nějakou optimalizaci, která zrychluje než objekty přidělené haldy. Aby nedocházelo k chybám synchronizace v paralelních aplikacích kvůli více vláknům přístup ke sdíleným datům, používají se s jistým druhem zamykacích mechanismů proměnlivé typy.
Kvůli své přirozené povaze se data proměnlivého typu mohou během běhu modifikovat, takže proměnný typ se často používá, když objekt obsahuje velké množství měnitelných dat. Přestože mutabilní typ není tak bezpečný jako podproces a bezpečný jako neměnný typ, častěji se používá s proměnnými typu value, které jsou přiděleny do zásobníku, což zvyšuje výkon.
Techopedia vysvětluje typ Meable
Všechny vestavěné typy hodnot, jako int, double atd., Jsou proměnlivé typy a lze je učinit nezměnitelným přidáním modifikátoru „readonly“ před proměnné. Pokud je typ proměnné reference specifikován pomocí modifikátoru jen pro čtení, generuje kompilátor C # varování. Přidáním readonly modifikátoru do pole typu odkazu nelze pole nahradit jinou instancí typu odkazu, ale umožní změnit data instance pole pomocí typu odkazu.
Například StringBuilder je proměnný typ odkazu v knihovně framework .NET, prostřednictvím kterého lze hodnotu řetězce instance vytvořené z tohoto typu upravit přidáním, odebráním, nahrazením nebo vložením znaků.
Proměnlivý typ by neměl být odvozen od neměnitelného typu, protože existuje možnost, že virtuální metoda ve odvozené třídě jej přepíše tak, že budou přepsáni neměnní členové.
Hlavní omezení mutovatelného typu spočívá v tom, že při předávání objektu mutabilního typu (jako strukturu) prostřednictvím přiřazení lokální proměnné nebo jako parametru k metodě se převede hodnota objektu a ne samotný objekt. Tímto je kopie objektu zmutována a ne originál. Toto chování může vést k neočekávaným chybám.
