Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Константы и литералы в C#: типы, правила и лучшие практики

Что такое константы

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

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

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

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

Суффиксы (регистронезависимы, порядок не важен):

Примеры:

212        // int
215u       // uint
0xFeeL     // long (hex)
85         // decimal
0x4b       // hexadecimal
30         // int
30u        // uint
30l        // long
30ul       // ulong

Литералы с плавающей точкой

Составляют: целая часть, десятичная точка, дробная часть, экспонента. Две формы записи:

Примеры:

3.14159      // корректно
314159E-5F   // корректно (float)
510E         // ошибка: неполная экспонента
210f         // ошибка: нет точки или экспоненты
.e55         // ошибка: отсутствует целая или дробная часть

Суффиксы: F/f — float, D/d — double (по умолчанию), M/m — decimal.

Символьные константы

Заключаются в одинарные кавычки: 'x'. Тип — char. Могут быть:

Таблица escape-последовательностей

ПоследовательностьЗначение
\\Обратный слеш
\'Одинарная кавычка
\"Двойная кавычка
\?Знак вопроса
\aЗвонок (alert)
\bBackspace
\fПеревод страницы
\nНовая строка
\rВозврат каретки
\tГоризонтальная табуляция
\vВертикальная табуляция
\xhh...Шестнадцатеричное число
\uhhhhUnicode-символ (4 hex цифры)

Пример использования escape-последовательностей

using System;

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

Результат:

Hello   World

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

Заключаются в двойные кавычки "" или используют verbatim-синтаксис @"". Содержат обычные символы, escape-последовательности и универсальные символы.

Длинные строки можно разбивать на несколько строк:

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

Все три формы эквивалентны. Verbatim-строки (@) не обрабатывают escape-последовательности (кроме "" для кавычки) и могут занимать несколько строк.

Объявление констант

Используется ключевое слово const:

const <тип_данных> <имя_константы> = значение;

Пример: вычисление площади круга

using System;

namespace DeclaringConstants
{
    class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159;
            double r;

            Console.WriteLine("Введите радиус: ");
            r = Convert.ToDouble(Console.ReadLine());

            double areaCircle = pi * r * r;
            Console.WriteLine("Радиус: {0}, Площадь: {1}", r, areaCircle);
            Console.ReadLine();
        }
    }
}

Результат (при вводе 3):

Введите радиус: 3
Радиус: 3, Площадь: 28.27431

Разница между const и readonly

Характеристикаconstreadonly
ИнициализацияТолько при объявленииПри объявлении или в конструкторе
Время вычисленияCompile-timeRuntime
МодификаторНеявно staticМожет быть instance
ТипыТолько базовые + string + nullЛюбые типы

Язык C

  1. Комплексный обзор резисторов, катушек и конденсаторов в цепях переменного тока
  2. Понимание ключевых слов и идентификаторов C#: правила, списки и лучшие практики
  3. Классы и объекты в C#: Фундаменты надёжного ООП
  4. Абстрактные классы и методы в C#: практическое руководство
  5. Частичные классы и методы в C#: понимание и применение
  6. Sealed-классы и sealed-методы в C#: когда использовать, примеры и повышение безопасности кода
  7. Освоение переменных, литералов и констант в C++: подробное руководство
  8. Ключевые слова и идентификаторы в C: практическое руководство
  9. Переменные, константы и литералы в C: полное руководство
  10. Переменные, типы данных и константы в C — практическое руководство