Découvrir les types valeur et les types référence
- 8 minutes
Avec de nombreux types de données disponibles en C#, le choix de celui à utiliser signifie que vous devez comprendre quand vous pouvez choisir un type de données sur un autre.
Avant de discuter de la raison pour laquelle vous pouvez choisir un type de données sur un autre, vous devez en savoir plus sur les types de données. Vous devez également savoir comment fonctionnent les types de données et de données en C# et .NET.
Qu’est-ce que les données ?
Répondre à la question « quelles sont les données » dépend de qui vous demandez et dans quel contexte vous le posez.
Dans le développement logiciel, les données sont essentiellement une valeur stockée dans la mémoire de l’ordinateur sous la forme d’une série de bits. Un bit est un simple commutateur binaire représenté sous la forme d’un 0 ou , ou 1plutôt, « désactivé » et « activé ». Un seul bit ne semble pas utile, cependant lorsque vous combinez 8 bits ensemble dans une séquence, ils forment un octet. Lorsqu’il est utilisé dans un octet, chaque bit prend une signification dans la séquence. En fait, vous pouvez représenter 256 combinaisons différentes avec seulement 8 bits si vous utilisez un système numérique binaire (base-2).
Par exemple, dans un système de chiffres binaires, vous pouvez représenter le nombre 195 sous la forme 11000011. Le tableau suivant vous permet de visualiser le fonctionnement de cette opération. La première ligne comporte huit colonnes qui correspondent à une position dans un octet. Chaque position représente une valeur numérique différente. La deuxième ligne peut stocker la valeur d’un bit individuel, soit 01.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
Si vous ajoutez le nombre de chaque colonne de la première ligne correspondant à une 1 dans la deuxième ligne, vous obtenez l’équivalent décimal de la représentation système numérique binaire. Dans ce cas, ce serait 128 + 64 + 2 + 1 = 195.
Pour utiliser des valeurs supérieures au-delà 255, votre ordinateur stocke plus d’octets (généralement 32 bits ou 64 bits). Si vous travaillez avec des millions de grands nombres dans un cadre scientifique, vous devrez peut-être prendre en compte plus attentivement les types de données que vous utilisez. Votre code peut nécessiter plus de mémoire à exécuter.
Qu’en est-il des données textuelles ?
Si un ordinateur comprend 0uniquement s et 1s, comment cela vous permet-il d’utiliser du texte ? À l’aide d’un système tel que ASCII (American Standard Code for Information Interchange), vous pouvez utiliser un octet unique pour représenter les lettres majuscules et minuscules, les chiffres, l’onglet, l’arrière-plan, le newline et de nombreux symboles mathématiques.
Par exemple, si vous souhaitez stocker une lettre a minuscule comme valeur dans mon application, l’ordinateur comprend uniquement la forme binaire de cette valeur. Pour mieux comprendre comment une lettre a minuscule est gérée par l’ordinateur, je dois localiser une table ASCII qui fournit des valeurs ASCII et leurs équivalents décimaux. Vous pouvez rechercher les termes « ASCII lookup decimal » pour localiser une telle ressource en ligne.
Dans ce cas, la lettre a minuscule équivaut à la valeur 97décimale . Ensuite, vous utiliseriez le même système de chiffres binaires en inverse pour trouver comment une lettre a ASCII est stockée par l’ordinateur.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Dans la mesure où 64 + 32 + 1 = 97, le code ASCII binaire 8 bits pour a lequel est 01100001.
Il est probable que vous n’aurez jamais besoin d’effectuer ces types de conversions par vous-même, mais comprendre la perspective des données de l’ordinateur est un concept fondamental, en particulier lorsque vous envisagez des types de données.
Qu’est-ce qu’un type de données ?
Un type de données est une façon dont un langage de programmation définit la quantité de mémoire à économiser pour une valeur. Il existe de nombreux types de données dans le langage C# à utiliser pour de nombreuses applications et tailles de données différentes.
Pour la plupart des applications que vous créez dans votre carrière, vous allez vous installer sur un petit sous-ensemble de tous les types de données disponibles. Cependant, il est toujours essentiel de savoir que d’autres existent et pourquoi.
Types valeur et référence
Ce module se concentre sur les deux types de types en C# : types de référence et types valeur.
Les variables des types de référence stockent des références à leurs données (objets), c’est-à-dire qu’elles pointent vers des valeurs de données stockées ailleurs. En comparaison, les variables des types valeur contiennent directement leurs données. À mesure que vous en apprendrez davantage sur C#, de nouveaux détails émergent en lien avec la différence fondamentale entre les types valeur et référence.
Types de valeurs simples
Les types valeur simples sont un ensemble de types prédéfinis fournis par C# en tant que mots clés. Ces mots clés sont des alias (surnom) pour les types prédéfinis définis dans la bibliothèque de classes .NET. Par exemple, le mot clé int C# est un alias d’un type valeur défini dans la bibliothèque de classes .NET en tant que System.Int32.
Les types valeur simples incluent un grand nombre des types de données que vous avez peut-être déjà utilisés comme char et bool. Il existe également de nombreux types de valeurs intégrales et à virgule flottante pour représenter un large éventail de nombres entiers et fractionnels.
Récapitulatif
- Les valeurs sont stockées sous forme de bits, qui sont des commutateurs simples activés/désactivés. La combinaison d’un nombre suffisant de ces commutateurs vous permet de stocker à peu près n’importe quelle valeur possible.
- Il existe deux catégories de base de types de données : les types valeur et référence. La différence est la façon dont et l’emplacement où les valeurs sont stockées par l’ordinateur à mesure que votre programme s’exécute.
- Les types valeur simples utilisent un alias de mot clé pour représenter des noms formels de types dans la bibliothèque .NET.
Vérifier vos connaissances
Commentaires
Est-ce que cette page vous a été utile?
Non
Avez-vous besoin d’aide à ce sujet?
Voulez-vous essayer d’utiliser Ask Learn pour clarifier ou vous guider à travers ce sujet ?