Tipo immutabile

Autore: Lewis Jackson
Data Della Creazione: 8 Maggio 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Juan Pedro Bolívar Puente — Postmodern immutable data structures
Video: Juan Pedro Bolívar Puente — Postmodern immutable data structures

Contenuto

Definizione - Cosa significa Immutable Type?

Un tipo immutabile, nel con di C #, è un tipo di oggetto i cui dati non possono essere modificati dopo la sua creazione. Un tipo immutabile imposta la proprietà o lo stato dell'oggetto come di sola lettura perché non può essere modificato dopo l'assegnazione durante l'inizializzazione.

I tipi immutabili sono progettati per una gestione efficiente della memoria e una migliore velocità, il che li rende adatti per oggetti con requisiti di sincronizzazione. L'immutabilità offre una migliore leggibilità del codice apportando modifiche alla visibilità dello stato del programma e isolando le operazioni che cambiano stato da quelle che non lo fanno. I tipi immutabili offrono una sicurezza superiore rispetto ai tipi mutabili.

Viene utilizzato un tipo immutabile in cui i dati devono persistere dopo essere stati assegnati una volta, ma senza che sia necessario modificarli in futuro. Poiché gli oggetti immutabili non cambiano il loro stato, sono più utili in scenari multithread e multiprocesso, poiché più thread possono leggere o scrivere un oggetto, il che può causare condizioni di competizione e problemi di sincronizzazione.


Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega il tipo immutabile

Oggetti di tipo immutabile possono essere creati con l'uso delle parole chiave "const" e "readonly". Mentre consente in sola lettura la modifica di un campo all'interno del costruttore, const no. Numeri, stringhe e null possono essere usati solo come campi const, che sono veramente immutabili. Readonly non è veramente immutabile perché consente di scrivere una sola volta. Pertanto, non è una costante di compilazione come il campo const. Gli oggetti veramente immutabili non cambiano mai il loro stato interno e sono quindi intrinsecamente sicuri per i thread.

La classe System.String è un tipo di riferimento immutabile fornito nella libreria di classi di .NET framework. Questa classe crea internamente un nuovo oggetto stringa per qualsiasi azione di manipolazione della stringa. Il contenuto di oggetti di questo tipo non cambia, sebbene la sintassi lo faccia apparire come se fosse possibile cambiarlo. Inoltre, la stringa viene utilizzata come chiave della tabella hash per il calcolo dei valori hash per evitare il rischio di corrompere la struttura dei dati hash.

Lo svantaggio principale dei tipi immutabili è che richiedono più risorse rispetto ad altri tipi di oggetti.


Questa definizione è stata scritta nel con di C #