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

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

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 :
  • sbyte
  • byte
  • short
  • ushort
  • int
  • uint
  • long
  • ulong
  • char
  • float
  • double
  • decimal
  • bool
  • string
  • enum-type
  • reference-type

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

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 :

public const double X = 1.0d, Y = 2.0d, Z = 3.0d;

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 C1 = 5;
const int C2 = C1 + 100;

Ressources

Constantes
Constante (mot clef) < Leçon C# précédente Leçon C# suivante >