Dom Rozwój Co to jest niezmienny typ? - definicja z techopedia

Co to jest niezmienny typ? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza Immutable Type?

Niezmienny typ, w kontekście C #, to typ obiektu, którego danych nie można zmienić po jego utworzeniu. Niezmienny typ ustawia właściwość lub stan obiektu jako tylko do odczytu, ponieważ nie można go modyfikować po przypisaniu podczas inicjowania.


Niezmienne typy zostały zaprojektowane z myślą o wydajnym zarządzaniu pamięcią i większej prędkości, co czyni je odpowiednimi dla obiektów z wymaganiami synchronizacji. Niezmienność zapewnia lepszą czytelność kodu, wprowadzając zmiany w widoczności stanu programu i izolując operacje zmieniające stan od tych, które tego nie robią. Niezmienne typy zapewniają większe bezpieczeństwo niż typy zmienne.


Niezmienny typ jest używany, gdy dane mają zostać zachowane po jednokrotnym przypisaniu, ale bez konieczności zmiany danych w przyszłości. Ponieważ niezmienne obiekty nie zmieniają swojego stanu, są bardziej przydatne w scenariuszach wielowątkowych i wieloprocesowych, ponieważ wiele wątków może odczytywać lub zapisywać obiekty, co może powodować warunki wyścigowe i problemy z synchronizacją.

Techopedia wyjaśnia Immutable Type

Obiekty typu niezmiennego można tworzyć za pomocą słów kluczowych „const” i „readonly”. Chociaż readonly pozwala na modyfikację pola w konstruktorze, const nie. Liczby, łańcuchy i null mogą być używane tylko jako pola const, które są naprawdę niezmienne. Readonly nie jest niezmienny, ponieważ umożliwia pisanie tylko raz. Dlatego nie jest stałą czasową kompilacji, jak pole const. Rzeczywiście niezmienne obiekty w ogóle nie zmieniają swojego stanu wewnętrznego i dlatego są z natury bezpieczne dla wątków.


Klasa System.String jest niezmiennym typem odniesienia zawartym w bibliotece klas środowiska .NET. Ta klasa tworzy nowy obiekt ciągu dla każdej akcji manipulacji ciągiem. Zawartość obiektów tego typu nie zmienia się, chociaż składnia sprawia, że ​​można ją zmienić. Ponadto ciąg jest używany jako klucz tabeli skrótów do obliczania wartości skrótu, aby uniknąć ryzyka uszkodzenia struktury danych skrótu.


Główną wadą niezmiennych typów jest to, że wymagają one więcej zasobów niż inne typy obiektów.

Ta definicja została napisana w kontekście C #
Co to jest niezmienny typ? - definicja z techopedia