Type immuable

Auteur: Lewis Jackson
Date De Création: 8 Peut 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
Mutable vs Immuable Python
Vidéo: Mutable vs Immuable Python

Contenu

Définition - Que signifie type immuable?

Un type immuable, dans le con de C #, est un type d'objet dont les données ne peuvent pas être modifiées après sa création. Un type immuable définit la propriété ou l'état de l'objet en lecture seule, car il ne peut pas être modifié après l'attribution au cours de l'initialisation.

Les types immuables sont conçus pour une gestion efficace de la mémoire et une meilleure vitesse, ce qui les rend adaptés aux objets nécessitant une synchronisation. L'immuabilité améliore la lisibilité du code en modifiant la visibilité de l'état du programme et en isolant les opérations qui changent d'état de celles qui ne le sont pas. Les types immuables offrent une sécurité plus élevée que les types mutables.

Un type immuable est utilisé lorsque les données doivent persister après avoir été attribuées une fois, mais sans qu'il soit nécessaire de les modifier ultérieurement. Etant donné que les objets immuables ne changent pas d'état, ils sont plus utiles dans les scénarios multithreads et multiprocessus, car plusieurs threads peuvent lire ou écrire un objet, ce qui peut entraîner des conditions de concurrence fâcheuses et des problèmes de synchronisation.


Introduction à Microsoft Azure et au nuage Microsoft | Tout au long de ce guide, vous apprendrez ce qu'est le cloud computing et comment Microsoft Azure peut vous aider à migrer et à exploiter votre entreprise à partir du cloud.

Techopedia explique le type immuable

Des objets de type immuable peuvent être créés à l'aide des mots-clés "const" et "readonly". Alors que readonly permet la modification d'un champ dans le constructeur, const ne le permet pas. Les nombres, les chaînes et les valeurs null ne peuvent être utilisés que comme champs const, qui sont vraiment immuables. Readonly n'est pas vraiment immuable, car il ne permet d'écrire qu'une seule fois. Ainsi, ce n'est pas une constante de compilation comme le champ const. Les objets véritablement immuables ne changent jamais leur état interne et sont donc intrinsèquement thread-safe.

La classe System.String est un type de référence immuable fourni dans la bibliothèque de classes du framework .NET. Cette classe crée un nouvel objet chaîne en interne pour toute action de manipulation de chaîne. Le contenu des objets de ce type ne change pas, bien que la syntaxe donne l'impression que le contenu peut être modifié. De plus, string est utilisé comme clé de table de hachage pour le calcul des valeurs de hachage afin d'éviter le risque de corruption de la structure de données de hachage.

L'inconvénient principal des types immuables est qu'ils nécessitent plus de ressources que les autres types d'objet.


Cette définition a été écrite dans le con de C #