Définition
C'est une valeur qui ne variera jamais dans le code. Elle sera toujours la même pour l'utilisateur de ton programme. Impossible de la changer (sauf par le développeuse bien entendu). Mais, elle devra recompiler le code...
Déclaration et assignation
La déclaration et l'assignation d'une constante se fait une seule et unique fois et en même temps.
Syntaxe
où :
Terme | Définition |
---|---|
<portée> |
<Optionnel> Si tu commences avec seulement "const" sans portée, elle est considérée comme "private" donc seulement accessible dans la fonction, méthode, ou bloc d'instruction dans laquelle elle a été déclarée. Voir plus loin pour les valeurs possibles... |
const |
Mot clef réservé indiquant que le reste de l'instruction sera une constante. Le mot réservé "const" ne pourra jamais être utilisé comme le nom d'une variable ou autre puisqu'il entrerait en conflit avec le mot réservé... |
[type] |
Indique la contrainte de la constante. Autrement dit, de quelle type sera la constante. Les valeurs possibles sont :
Les types seront repris ultérieurement... |
[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. |
= | Permet d'assigner (de donner) une valeur à la constante qui sera sa valeur dans le code sans possibilité de changement (sauf ici bien entendu) |
[valeur invariable] | Valeur invariable de la constante tout au long du programme. |
; | Fin de l'instruction |
Exemples
-
Booléen (valeur binaire de style : oui/non, vrai/faux) :
- const bool IS_VISIBLE = true;
- const bool IS_DISABLED = false;
- const bool HAS_CHILDREN = true;
-
Les nombres entiers (nombres sans décimale) :
- const sbyte MY_SIGNED_BYTE_CONSTANT = -10;
- const byte MY_UNSIGNED_BYTE_CONSTANT = 0;
- const short MY_SHORT_CONSTANT = 0;
- const ushort NUMBER_OF_FACEBOOK_FRIENDS = 230;
- const int MY_INTEGER_CONSTANT = -456789;
- const uint MY_UNSIGNED_INTEGER_CONSTANT = 232399;
- const long MY_LONG_CONSTANT = 10000000;
- const ulong MY_UNSIGNED_LONG_CONSTANT = 20000000;
-
Les nombres décimaux :
- const float TEMPERATURE_THRESHOLD = -10.5f;
- const double PSEUDO_PI = 3.1416;
- const decimal MY_BANK_ACCOUNT_BALANCE = -500.22m;
-
Le caractère (un seul caractère) :
- const char MY_FAVORITE_CHARACTER = 'M';
-
Une chaîne de caractéres :
- const string MY_FAVORITE_VEDGETABLE = "Patate";
-
Un type énuméré (enum) :
- Plus tard!
-
Une type référencé :
- Plus tard!
Autres informations
Multiples constantes sur la même ligne
Possibilités de combiner plusieurs constantes sur la même ligne. Les constantes seront toutes du même type et elles sont séparées par des virgules.
Exemple :
Lettre après les valeurs de constantes
Certaines lettres apparaissent après les nombres. Pourquoi? C'est pour définir le type du chiffre car il peut aller dans plusieurs types. Voici les types possibles :
Lettre en suffixe | Type |
---|---|
f | float |
d | double |
m | decimal (money) |
u | unsigned int |
l | long |
ul | unsigned long |
Portée des constantes
La portée sera une notion abordée plus loin, mais il convient tout de même d'en parler un peu. En fait, la portée indique jusqu'où est visible une constante (ou variable et autres). L'objectif est de toujours mettre la plus petite portée nécessaire pour éviter de se mélanger et d'avoir une idée où est utilisée cette constante. Pour la constante, il y a 6 possibilités :
public | Accessible partout dans le programme et même de l'externe (autre programme selon certaines conditions). |
private | Accessible seulement dans la section où elle a été déclarée. |
protected | Plus tard! |
internal | Partout dans le programme, mais PAS à l'externe... |
protected internal | Plus tard! |
private protected | Plus tard! |
Portée des constantes
Il est aussi possible de définir une constante à partir d'autres constantes. Elles doivent tout de même avoir été déclarées au préalable. Les constantes doivent être du même type.
const int C2 = C1 + 100;
Ressources
ConstantesConstante (mot clef) < Leçon C# précédente Leçon C# suivante >