C# Константы
Константы — это фиксированные значения, которые не изменяются во время выполнения программы. Константы могут быть любого базового типа данных, например целочисленные константы, константы с плавающей точкой, символьные константы, строковые константы и константы перечислений.
Константы можно обрабатывать как обычные переменные, за исключением того, что их значения нельзя изменять после определения.
Целочисленные константы
Целочисленные константы могут быть десятичными, восьмеричными или шестнадцатеричными. Префикс задаёт основание системы счисления: 0x или 0X указывает на шестнадцатеричную, 0 указывает на восьмеричную, а отсутствие префикса указывает на десятичную.
Целочисленные константы также могут иметь суффиксы, которые могут быть комбинацией U и L, где U и L обозначают unsigned и long соответственно. Суффикс может быть в верхнем или нижнем регистре, а несколько суффиксов можно комбинировать в любом порядке.
Вот несколько примеров целочисленных констант:
212 /* 合法 */ 215u /* 合法 */ 0xFeeL /* 合法 */ 078 /* 非法:8 不是一个八进制数字 */ 032UU /* 非法:不能重复后缀 */
Ниже приведены примеры целочисленных констант различных типов:
85 /* 十进制 */ 0213 /* 八进制 */ 0x4b /* 十六进制 */ 30 /* int */ 30u /* 无符号 int */ 30l /* long */ 30ul /* 无符号 long */
Константы с плавающей точкой
Константа с плавающей точкой состоит из целой части, десятичной точки, дробной части и части экспоненты. Вы можете записывать константы с плавающей точкой в десятичной или экспоненциальной форме.
Вот несколько примеров констант с плавающей точкой:
3.14159 /* 合法 */ 314159E-5L /* 合法 */ 510E /* 非法:不完全指数 */ 210f /* 非法:没有小数或指数 */ .e55 /* 非法:缺少整数或小数 */
При записи в форме с плавающей точкой она должна содержать десятичную точку, экспоненту или и то, и другое. При записи в экспоненциальной форме она должна содержать целую часть, дробную часть или и то, и другое. Экспонента со знаком обозначается с помощью e или E.
Символьные константы
Символьные константы заключаются в одинарные кавычки, например 'x', и могут храниться в простой переменной символьного типа. Символьная константа может быть обычным символом (например, 'x'), escape-последовательностью (например, '\t') или универсальным символом (например, '\u02C0').
В C# есть некоторые символы, которые имеют особое значение, когда им предшествует обратная косая черта. Они могут использоваться для представления новой строки (\n) или табуляции (\t). Ниже перечислены некоторые коды escape-последовательностей:
| Escape-последовательности | Значение |
|---|---|
| \\ | Символ \ |
| \' | Символ ' |
| \" | Символ " |
| \? | символ ? |
| \a | Сигнал или звонок |
| \b | Клавиша Backspace |
| \f | Подача страницы |
| \n | Перевод строки |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция (tab) |
| \v | Вертикальная табуляция (tab) |
| \ooo | Восьмеричное число от одной до трёх цифр |
| \xhh . . . | Шестнадцатеричное число из одной или более цифр |
Ниже приведены некоторые примеры символов escape-последовательностей:
namespace EscapeChar
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Hello World
Строковые константы
Строковые константы заключаются в двойные кавычки""внутри, или заключаются в@""Внутри. Строковые константы содержат символы, подобные символьным константам, которые могут быть: обычными символами, escape-последовательностями и универсальными символами.
При использовании строковых констант можно разбить очень длинную строку на несколько строк, а для разделения частей можно использовать пробелы.
Ниже приведены некоторые примеры строковых констант. Различные формы, перечисленные ниже, представляют одну и ту же строку.
string a = "hello, world"; // hello, world string b = @"hello, world"; // hello, world string c = "hello \t world"; // hello world string d = @"hello \t world"; // hello \t world string e = "Joe said \"Hello\" to me"; // Joe said "Hello" to me string f = @"Joe said ""Hello"" to me"; // Joe said "Hello" to me string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt string h = @"\\server\share\file.txt"; // \\server\share\file.txt string i = "one\r\ntwo\r\nthree"; string j = @"one two three";
Определение констант
Константы определяются с помощью ключевого словаconst. Синтаксис определения константы выглядит следующим образом:
const <data_type> <constant_name> = value;
Следующий код демонстрирует, как определять и использовать константы в программе:
Пример
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()
{
SampleClass mC = new SampleClass(11, 22);
Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
Console.WriteLine("c1 = {0}, c2 = {1}",
SampleClass.c1, SampleClass.c2);
}
}
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
x = 11, y = 22 c1 = 5, c2 = 10Другие расширения