Les types de référence incluent les types de classes, les types d'interfaces, les types délégués et les types de tableaux.
| Catégorie | Nom de classe | Type de données | Description |
|---|---|---|---|
| Entier | Byte | byte | représente un entier non signé sur 8 bits. |
| SByte | sbyte | représente un entier signé sur 8 bits. Non conforme CLS. |
|
| Int16 | short | représente un entier signé sur 16 bits. | |
| Int32 | int | représente un entier signé sur 32 bits. | |
| Int64 | long | représente un entier signé sur 64 bits. | |
| UInt16 | ushort | représente un entier non signé sur 16 bits. Non conforme CLS. |
|
| UInt32 | uint | représente un entier non signé sur 32 bits. Non conforme CLS. |
|
| UInt64 | ulong | représente un entier non signé sur 64 bits. Non conforme CLS. |
|
| Virgule flottante | Single | float | représente un nombre à virgule flottante sur 32 bits (simple précision). |
| Double | double | représente un nombre à virgule flottante sur 64 bits (double précision). | |
| Autres | Decimal | decimal | représente une valeur décimale sur 96 bits. |
| IntPtr | IntPtr Pas de type intégré. |
représente un entier signé d'une taille dépendant de la plate-forme sous-jacente (valeur 32 bits sur une plate-forme 32 bits et valeur 64 bits sur une plate-forme 64 bits). | |
| UIntPtr | UIntPtr Pas de type intégré. |
représente un ntier non signé d'une taille dépendant de la plate-forme sous-jacente (valeur 32 bits sur une plate-forme 32 bits et valeur 64 bits sur une plate-forme 64 bits). Non conforme CLS. |
|
| Char | char | représente un caractère Unicode sur 16 bits. | |
| String | string | représente un chaîne de caractères immuable à longueur fixe de caractères Unicode. | |
| Logique | Boolean | bool | représente une valeur booléenne true ou false. |
| Objets de classe | Object | object | représente la racine de la hiérarchie d'objet. |