Unetway

C # - Константы и литералы

Константы относятся к фиксированным значениям, которые программа не может изменять во время выполнения. Эти фиксированные значения также называются литералами. Константы могут быть любого из основных типов данных, таких как целочисленная константа, плавающая константа, символьная константа или строковый литерал. Существуют также константы перечисления.

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

Целочисленные литеры

Целочисленный литерал может быть десятичной или шестнадцатеричной константой. Префикс указывает базу или основание: 0x или 0X для шестнадцатеричного кода, и нет идентификатора префикса для десятичного числа.

Целочисленный литерал может также иметь суффикс, который представляет собой комбинацию U и L, для беззнаковых и длинных, соответственно. Суффикс может быть прописным или строчным и может быть в любом порядке.

Вот несколько примеров целочисленных литералов -

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */

Ниже приведены другие примеры различных типов целых литералов -

85         /* decimal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Литералы с плавающей запятой

Литерал с плавающей запятой имеет целую часть, десятичную точку, дробную часть и экспоненциальную часть. Вы можете представлять литералы с плавающей запятой либо в десятичной форме, либо в экспоненциальной форме.

Вот несколько примеров литералов с плавающей запятой -

3.14159       /* Legal */
314159E-5F    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

Представляя в десятичной форме, вы должны указать десятичную точку, экспоненту или и то, и другое; и, представляя, используя экспоненциальную форму, вы должны включить целую часть, дробную часть или и то, и другое. Подписанный показатель вводится e или E.

Константы символов

Символьные литералы заключены в одинарные кавычки. Например, «x» и может храниться в простой переменной типа char. Литеральный символ может быть простым символом (например, «x»), escape-последовательность (например, «\ t») или универсальный символ (например, «\ u02C0»).

В C # есть определенные символы, когда им предшествует обратная косая черта. Они имеют особое значение, и они используются для представления как newline (\ n) или tab (\ t). Здесь приведен список некоторых таких кодов escape-последовательности -

Последовательность Описание
\\ \ персонаж
' персонаж
" персонаж
\? ? персонаж
\ а Предупреждение или звонок
\ б возврат на одну позицию
\ е Подача формы
\ п Новая линия
Возврат каретки
\ т Горизонтальная вкладка
\ v Вертикальная вкладка
\ xhh. , , Шестнадцатеричное число одной или нескольких цифр

Ниже приведен пример, чтобы показать несколько символов escape-последовательности -

using System;

namespace EscapeChar {
   class Program {
      static void Main(string[] args) {
         Console.WriteLine("Hello\tWorld\n\n");
         Console.ReadLine();
      }
   }
}
Когда приведенный выше код компилируется и выполняется, он производит следующий результат:
Hello   World

Строковые литералы

Строковые литералы или константы заключены в двойные кавычки «» или с помощью @ ». Строка содержит символы, похожие на символьные литералы: простые символы, escape-последовательности и универсальные символы.

Вы можете разбить длинную строку на несколько строк, используя строковые литералы и разделяя части с помощью пробелов.

Вот несколько примеров строковых литералов. Все три формы идентичны.

"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
@"hello dear"

Определение констант

Константы определяются с использованием ключевого слова const . Синтаксис для определения константы -

const <data_type> <constant_name> = value;

Следующая программа демонстрирует определение и использование константы в вашей программе -

using System;

namespace DeclaringConstants {
   class Program {
      static void Main(string[] args) {
         const double pi = 3.14159;   
            
         // constant declaration 
         double r;
         Console.WriteLine("Enter Radius: ");
         r = Convert.ToDouble(Console.ReadLine());
            
         double areaCircle = pi * r * r;
         Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
         Console.ReadLine();
      }
   }
}

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

Enter Radius: 
3
Radius: 3, Area: 28.27431