English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Constantes C#

Les constantes sont des valeurs fixes qui ne changent pas pendant l'exécution du programme. Les constantes peuvent être de n'importe quel type de données de base, comme les constantes entières, les constantes à virgule flottante, les constantes de caractères ou les constantes de chaîne, ainsi que les constantes de type énuméré.

Les constantes peuvent être traitées comme des variables conventionnelles, à la différence que leurs valeurs ne peuvent pas être modifiées après leur définition.

Constante entière

Les constantes entières peuvent être des constantes décimales, octales ou hexadécimales. Le préfixe spécifie la base : 0x ou 0X représente l'hexadécimal, 0 représente l'octal, et sans préfixe représente le décimal.

Les constantes entières peuvent également avoir des suffixes, qui peuvent être une combinaison de U et L, où U et L représentent respectivement unsigned et long. Les suffixes peuvent être en majuscules ou en minuscules, et peuvent être combinés dans n'importe quel ordre.

Voici quelques exemples de constantes entières :

212         /* Il est légal */
215u        /* Il est légal */
0xFeeL      /* Il est légal */
078         /* Il est illégal :8 Ce n'est pas un chiffre octal */
032UU       /* Il est illégal : le suffixe ne peut pas être répété */

Voici quelques exemples de constantes entières de différents types :

85         /* Décimal */
0213       /* Octal */
0x4b       /* Hexadécimal */
30         /* int */
30u        /* int sans signe */
30l        /* long */
30ul       /* long sans signe */

Constante flottante

Une constante flottante est composée d'une partie entière, un point décimal, une partie décimale et une partie exponentielle. Vous pouvez représenter une constante flottante sous forme décimale ou exponentielle.

Voici quelques exemples de constantes flottantes :

3.14159       /* Il est légal */
314159E-5L    /* Il est légal */
510E          /* Il est illégal : l'exponentielle n'est pas complète */
210f          /* Il est illégal : il n'y a pas de décimal ou d'exponentielle */
.e55          /* Il est illégal : il manque un entier ou un décimal */

Lorsqu'il est représenté sous forme décimale, il doit contenir un point décimal, une exponentielle ou les deux. Lorsqu'il est représenté sous forme exponentielle, il doit contenir une partie entière, une partie décimale ou les deux. L'exponentielle signée est représentée par e ou E.

Caractère constant

Un caractère constant est entouré de guillemets simples, par exemple, 'x', et peut être stocké dans un variable de type simple. Un caractère constant peut être un caractère normal (par exemple 'x'), une séquence d'échappement (par exemple '\t') ou un caractère générique (par exemple '\u02C0').

Dans C#, certains caractères ont une signification spéciale lorsqu'ils sont précédés d'un antislash, ils peuvent être utilisés pour représenter le retour à la ligne (\n) ou le tabulation tab (\t). Voici quelques séquences d'échappement :

Séquence d'échappementSignification
\\\Caractère \
\'Caractère'
\"Caractère "
\?Caractère ?
\aAlerte ou cloche
\bTouche de retour arrière (Backspace)
\fCaractère de saut de page (Form feed)
\nCaractère de retour à la ligne (Newline)
\rRetour chariot
\tTabulation horizontale
\vTabulation verticale
\oooUn à trois chiffres en octal
\xhh . . .Un ou plusieurs nombres en hexadécimal

Voici quelques exemples de séquences d'échappement :

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello\tWorld\n\n");
            Console.ReadLine();
        }
    }
}

Lorsque le code suivant est compilé et exécuté, il produit le résultat suivant :

Hello 	 World

Constantes de chaîne

Les constantes de chaîne sont encadrées par des guillemets doubles "" ou par des guillemets doubles avec @"". Les caractères contenus dans les constantes de chaîne sont similaires à ceux des caractères constants, et peuvent être : des caractères normaux, des séquences d'échappement et des caractères universels

Lors de l'utilisation des constantes de chaîne, il est possible de couper une ligne longue en plusieurs lignes, en utilisant des espaces pour séparer les différentes parties.

Voici quelques exemples de constantes de chaîne. Les différentes formes équivalentes représentent la même chaîne.

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello 	 world";               // hello		world
string d = @"hello 	 world";               // hello 	 world
string e = "Joe dit \"Hello\" à moi";      // Joe dit "Hello" à moi
string f = @"Joe dit ""Hello"" à moi";   // Joe dit "Hello" à moi
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one
two
three";
string j = @"one
two
three";

Définir une constante

Les constantes sont définies en utilisant const La syntaxe pour définir une constante est la suivante :

const <data_type> <constant_name> = value;

Le code suivant montre comment définir et utiliser des constantes dans un programme :

Exemple en ligne

using System;
public class ConstTest 
{
    class SampleClass
    {
        public int x;
        public int y;
        public const int c1 = 5;
        public const int c2 = c1 + 5;
        public class SampleClass(int p1, int p2) 
        {
            x = p1; 
            y = p2;
        }
    }
    static void Main()
    {
        SampleClass mC = new SampleClass(11, 22);
        Console.WriteLine("x = {0}, y = {1}
        Console.WriteLine("c1 = {0}, c2 = {1} 
                          SampleClass.c1, SampleClass.c2);
    }
}

Lorsque le code suivant est compilé et exécuté, il produit le résultat suivant :

x = 11, y = 22
c1 = 5, c2 = 10