Variables C#

Définition

C'est un contenant qui contient une valeur qui pourra être modifié à tout moment dans le code source. Une variable doit être obligatoirement d'un type. Il faut le voir comme une boîte qui conserve une valeur. Le type permettra d'indiquer quel est la contrainte de la boîte. Exemple : une variable de type "int" pourra contenir uniquement un nombre.

Déclaration et assignation

Une variable peut être déclarée avec ou sans valeur, mais contrairement à une constante, cette valeur pourra être modifiée en utilisant le signe d'égalité pour lui mettre une nouvelle valeur.

Syntaxe

<portée> [type] [nom] = [valeur invariable];

où :

Terme Définition
<portée>

<Optionnel> La portée indique de quel endroit une variable (ou autre) est accessible. Le but ici est l'encapsulation qui permet de s'assurer que que d'autres systèmes ne peuvent pas modifier quelque chose dans passer par ton code qui s'occupe de gérer cette variables (ce sera plus clair plus tard).

[type]

Indique la contrainte de la variable. Autrement dit, de quelle type sera la variable. Les valeurs possibles sont : bool, sbyte, byte, short, ushort, int, uint, long, ulong, char, decimal, double, float. Il faut aussi noter qu'il y a d'autres possibilités car en fait n'importe quel objet pourrait être utilisé comme variable, mais nous en reparlerons plus tard...

[nom] Donne un nom qui pourra être utilisé ultérieurement dans le code. Le nom ne doit pas contenir d'espace, ni de caractères spéciaux.
= <Optionnel> Permet d'assigner (de donner) une valeur initiale à la variable.
[valeur invariable] <Optionnel> Valeur initiale de la variable tout au long du programme.
; Fin de l'instruction

Exemples

Types possibles

Type Represents Range Default Value
bool Boolean value True or False False
byte 8-bit unsigned integer 0 to 255 0
char 16-bit Unicode character U +0000 to U +ffff '\0'
decimal 128-bit precise decimal values with 28-29 significant digits (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 0.0M
double 64-bit double-precision floating point type (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 0.0D
float 32-bit single-precision floating point type -3.4 x 1038 to + 3.4 x 1038 0.0F
int 32-bit signed integer type -2,147,483,648 to 2,147,483,647 0
long 64-bit signed integer type -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 0L
sbyte 8-bit signed integer type -128 to 127 0
short 16-bit signed integer type -32,768 to 32,767 0
uint 32-bit unsigned integer type 0 to 4,294,967,295 0
ulong 64-bit unsigned integer type 0 to 18,446,744,073,709,551,615 0
ushort 16-bit unsigned integer type 0 to 65,535 0

Autres informations

Value types vs Reference types

TODO

Portée (Scope)

Toujours plus petite portée possible pour éviter des erreurs.


Ressources

Modificateurs d'accès
Types de variables < Leçon C# précédente