Константы C#

Константы в C# похожи на обычные переменные, но в отличие от переменных константы не изменяемы и должны быть инициализированы сразу после объявления. Константы объявляются с помощью ключевого слова const. Пример объявления константы:

class Program {
    const int i = 12;
}

В этом примере объявлена целочисленная константа i, после объявления эта константа сразу же инициализируется значением 12. При компиляции эта константа будет заменена компилятором (IL) на свое значение. Таким образом компилятор не создает ссылок на константы и, следовательно, они не могут быть изменены или переданы по ссылке.

Константами не могут быть пользовательские типы данных, такие как объекты классов, структуры, массивы.

Константы могут быть инициализированы другими константами, если они не инициализируются друг другом циклически, например:

class Program {
    // можно:
    const int i = 12;
    const int j = i;
}

class Program {
    // нельзя:
    const int i = j;
    const int j = i;
}

Для объявления констант могут использоваться все модификаторы доступа доступные для членов класса.

Константы доступны так же как статические поля класса, т.е. для доступа к открытой константе не нужно создавать объект класса, например:

class Example {
    public const int i = 12;
}

class Program {
    static void Main() {
        int i = Example.i;
        Console.WriteLine( i );
        // Вывод: 12
    }
}
avatar
5000
  Подписаться  
Уведомление о