Namai Plėtra Kas yra nekintamas tipas? - apibrėžimas iš techopedijos

Kas yra nekintamas tipas? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia nekintamas tipas?

Nekintantis tipas C # kontekste yra objekto tipas, kurio duomenų negalima pakeisti jo sukūrus. Nekeičiamas tipas nustato objekto savybę ar būseną kaip tik skaitomą, nes jo negalima modifikuoti po to, kai jis bus priskirtas paleidus.


Nekeičiami tipai yra skirti efektyviam atminties valdymui ir geresniam greičiui, todėl jie tinka objektams, kuriems keliami sinchronizacijos reikalavimai. Nekeičiamumas suteikia geresnį kodo skaitomumą keičiant programos būsenos matomumą ir izoliuojant operacijas, kurios keičia būseną, iš tų, kurios to nedaro. Nekeičiami tipai suteikia didesnį saugumą nei keičiami tipai.


Nekeičiamas tipas naudojamas tais atvejais, kai duomenys turi išlikti po to, kai vieną kartą bus priskirti, tačiau nereikalaujant, kad ateityje duomenys būtų pakeisti. Kadangi nekintantys objektai nekeičia savo būsenos, jie yra naudingesni daugiapakopiuose ir daugiaprocesiniuose scenarijuose, nes keli gijos gali skaityti ar rašyti objektą, o tai gali sukelti lenktynių sąlygas ir sinchronizacijos problemas.

„Techopedia“ paaiškina nekintamą tipą

Nekintančio tipo objektai gali būti sukurti naudojant raktinius žodžius „const“ ir „readonly“. Nors tik skaitoma leidžia modifikuoti lauką konstruktoriuje, const to nedaro. Skaičiai, eilutės ir nulis gali būti naudojami tik kaip const laukai, kurie yra tikrai nekintami. Tik skaitymas nėra tikrai nekintamas, nes leidžia rašyti tik vieną kartą. Taigi, tai nėra kompiliavimo laiko konstanta kaip const laukas. Tikrai nekintantys objektai niekuomet nekeičia savo vidinės būsenos, todėl iš prigimties yra saugūs siūlams.


„System.String“ klasė yra nekintama nuorodos rūšis, pateikiama .NET pagrindų klasės bibliotekoje. Ši klasė sukuria naują eilutės objektą bet kokiam manipuliavimui eilute. Šio tipo objektų turinys nesikeičia, nors dėl sintaksės atrodo, kad turinį būtų galima pakeisti. Be to, eilutė naudojama kaip maišos lentelės klavišas maišos vertėms apskaičiuoti, siekiant išvengti maišos duomenų struktūros sugadinimo pavojaus.


Pagrindinis nekintančių tipų trūkumas yra tas, kad jiems reikia daugiau išteklių nei kitiems objektų tipams.

Šis apibrėžimas buvo parašytas atsižvelgiant į C #
Kas yra nekintamas tipas? - apibrėžimas iš techopedijos