Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Используйте ключевое const слово для объявления поля константы или локальной константы. Поля констант и локальные значения не являются переменными и не могут быть изменены. Константы могут быть числами, логическими значениями, строками или пустой ссылкой. Не создавайте константу для представления сведений, которые вы ожидаете изменить с течением времени. Например, не используйте постоянное поле для хранения цены на услугу, номер версии продукта или фирменное название компании. Эти значения могут изменяться с течением времени, и поскольку компиляторы распространяют константы, для просмотра изменений необходимо перекомпилировать другой код, скомпилированный с помощью библиотек. См. также ключевое слово только для чтения. Например:
const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";
Интерполированные строки могут быть константами, если все используемые выражения также являются константными строками. Эта функция может улучшить код, который создает константные строки:
const string Language = "C#";
const string Platform = ".NET";
const string FullProductName = $"{Platform} - Language: {Language}";
Справочные документы по языку C# описывают последнюю выпущенную версию языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.
Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.
Подсказка
Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей об истории версий языка C#.
Тип объявления константы указывает тип элементов, которые вводит объявление. Инициализатор локальной константы или поля константы должен быть константным выражением, которое компилятор может неявно преобразовать в целевой тип.
Константное выражение — это выражение, которое компилятор может полностью оценить во время компиляции. Таким образом, единственными возможными значениями для констант ссылочных типов являются строки и null-ссылка.
Можно объявить несколько констант в одном объявлении констант, например:
public const double X = 1.0, Y = 2.0, Z = 3.0;
Модификатор static не допускается в объявлении констант.
Константа может участвовать в константном выражении следующим образом:
public const int C1 = 5;
public const int C2 = C1 + 100;
Заметка
Ключевое слово readonly отличается от ключевого слова const. Вы можете инициализировать const поле только в объявлении поля. Можно инициализировать readonly поле в объявлении или конструкторе. Таким образом, readonly поля могут иметь разные значения в зависимости от используемого конструктора. Кроме того, хотя поле const является константой времени компиляции, поле readonly можно использовать для констант времени выполнения, как в этой строке: public static readonly uint l1 = (uint)DateTime.Now.Ticks;
Примеры
public class ConstTest
{
class SampleClass
{
public int x;
public int y;
public const int C1 = 5;
public const int C2 = C1 + 5;
public SampleClass(int p1, int p2)
{
x = p1;
y = p2;
}
}
static void Main()
{
var mC = new SampleClass(11, 22);
Console.WriteLine($"x = {mC.x}, y = {mC.y}");
Console.WriteLine($"C1 = {SampleClass.C1}, C2 = {SampleClass.C2}");
}
}
/* Output
x = 11, y = 22
C1 = 5, C2 = 10
*/
В следующем примере показано, как объявить локальную константу:
public class SealedTest
{
static void Main()
{
const int C = 707;
Console.WriteLine($"My local constant = {C}");
}
}
// Output: My local constant = 707
Спецификация языка C#
Дополнительные сведения см. в следующих разделах спецификации языка C# :.
- константы
- Константные выражения