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

Мастерство C# переменных и примитивных типов данных: полное руководство

Переменные и (примитивные) типы данных C#

В этом уроке мы узнаем о переменных, как создавать переменные в C# и различных типах данных, которые поддерживает язык программирования C#.

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


Как объявлять переменные в C#?

Пример объявления переменной в C#.

int age;

В этом примере переменная age типа int (целое число) объявлена и может хранить только целые значения.

Мы можем присвоить значение переменной позже в программе так:

int age;
...
...
...
age = 24;

Однако переменную можно также инициализировать значением при объявлении. Например,

int age = 24;

Здесь переменная age типа int объявлена и инициализирована значением 24 одновременно.

Поскольку это переменная, мы можем менять значение переменных. Например,

int age = 24;
age = 35;

Здесь значение age изменено на 35 из 24.


Переменные в C# должны быть объявлены перед использованием. Это значит, имя и тип переменной должны быть известны перед присваиванием значения. Именно поэтому C# называется статически типизированным языком.

После объявления тип данных переменной не может быть изменён в пределах области видимости. Область видимости можно представить как блок кода, где переменная видна или доступна для использования. Если вы не поняли предыдущее утверждение, не волнуйтесь — мы узнаем об областях видимости в следующих главах.

Пока запомните, в C# НЕЛЬЗЯ делать следующее:

int age;
age = 24;
...
...
...
float age;

Неявно типизированные переменные

Альтернативно в C# мы можем объявить переменную без знания её типа с ключевым словом var. Такие переменные называются неявно типизированными локальными переменными.

Переменные, объявленные с var, должны быть инициализированы в момент объявления.

var value = 5;

Компилятор определяет тип переменной из присваиваемого значения. В примере выше value имеет тип int. Это эквивалентно:

int value;
value = 5;

Узнайте больше о неявно типизированных локальных переменных.


Правила именования переменных в C#

Существуют определённые правила, которых нужно следовать при именовании переменной. Правила именования переменной в C#:

  1. Имя переменной может содержать буквы (верхний и нижний регистр), подчёркивание (_) и цифры только.
  2. Имя переменной должно начинаться либо с буквы, подчёркивания или символа @. Например,
    Правила именования переменных в C#
    Имена переменныхПримечания
    nameВалидно
    subject101Валидно
    _ageВалидно (лучшая практика для приватных полей)
    @breakВалидно (используется если имя — зарезервированное ключевое слово)
    101subjectНевалидно (начинается с цифры)
    your_nameВалидно
    your nameНевалидно (содержит пробел)
  3. C# чувствителен к регистру. Это значит age и Age ссылаются на 2 разные переменные.
  4. Имя переменной не должно быть ключевым словом C#. Например, if, for, using не могут быть именем переменной. Мы обсудим ключевые слова C# в следующем уроке.

Лучшие практики именования переменной

  1. Выбирайте имя переменной, которое имеет смысл. Например, name, age, subject имеют больше смысла, чем n, a и s.
  2. Используйте нотацию camelCase (начинается с строчной буквы) для именования локальных переменных. Например, numberOfStudents, age и т.д.
  3. Используйте PascalCase или CamelCase (начинается с заглавной буквы) для именования публичных полей. Например, FirstName, Price и т.д.
  4. Используйте ведущее подчёркивание (_) с нотацией camelCase для именования приватных полей. Например, _bankBalance, _emailAddress и т.д.

Узнайте больше о соглашениях именования в C# здесь.

Не волнуйтесь о публичных и приватных полях. Мы узнаем о них в следующих главах.


Примитивные типы данных C#

Переменные в C# широко классифицируются на два типа: Value types (типы значений) и Reference types (ссылочные типы). В этом уроке мы обсудим примитивные (простые) типы данных, которые являются подклассом типов значений.

Ссылочные типы будут охвачены в следующих уроках. Однако если хотите узнать больше о типах переменных, посетите C# Types and variables (официальные C# доки).

Boolean (bool)

Например:

using System;
namespace DataType
{
    class BooleanExample
    {
        public static void Main(string[] args)
        {
            bool isValid = true;
            Console.WriteLine(isValid);
        }
    }
}

При запуске программы вывод будет:

True

Знаковые целые (Signed Integral)

Эти типы данных хранят целые значения (как положительные, так и отрицательные). Из общего доступного количества бит, один бит используется для знака.

1. sbyte

Например:

using System;
namespace DataType
{
    class SByteExample
    {
        public static void Main(string[] args)
        {
            sbyte level = 23;
            Console.WriteLine(level);
        }
    }
}

Вывод:

23

Попробуйте присвоить значения вне диапазона (меньше -128 или больше 127) и посмотрите, что произойдёт.


2. short

Например:

using System;
namespace DataType
{
    class ShortExample
    {
        public static void Main(string[] args)
        {
            short value = -1109;
            Console.WriteLine(value);
        }
    }
}

Вывод:

-1109

3. int

Например:

using System;
namespace DataType
{
    class IntExample
    {
        public static void Main(string[] args)
        {
            int score = 51092;
            Console.WriteLine(score);
        }
    }
}

Вывод:

51092

4. long

Например:

using System;
namespace DataType
{
    class LongExample
    {
        public static void Main(string[] args)
        {
            long range = -7091821871L;
            Console.WriteLine(range);
        }
    }
}

Вывод:

-7091821871

Беззнаковые целые (Unsigned Integral)

Эти типы данных хранят только значения больше или равные 0. Обычно используются, когда уверены, что отрицательных значений не будет.

1. byte

Например:

using System;
namespace DataType
{
    class ByteExample
    {
        public static void Main(string[] args)
        {
            byte age = 62;
            Console.WriteLine(age);
        }
    }
}

Вывод:

62

2. ushort

Например:

using System;
namespace DataType
{
    class UShortExample
    {
        public static void Main(string[] args)
        {
            ushort value = 42019;
            Console.WriteLine(value);
        }
    }
}

Вывод:

42019

3. uint

Например:

using System;
namespace DataType
{
    class UIntExample
    {
        public static void Main(string[] args)
        {
            uint totalScore = 1151092;
            Console.WriteLine(totalScore);
        }
    }
}

Вывод:

1151092

4. ulong

Например:

using System;
namespace DataType
{
    class ULongExample
    {
        public static void Main(string[] args)
        {
            ulong range = 17091821871L;
            Console.WriteLine(range);
        }
    }
}

Вывод:

17091821871

Числа с плавающей точкой (Floating Point)

Эти типы данных хранят значения с плавающей точкой, то есть числа, содержащие десятичные значения. Например, 12.36, -92.17 и т.д.

1. float

Например:

using System;
namespace DataType
{
    class FloatExample
    {
        public static void Main(string[] args)
        {
            float number = 43.27F;
            Console.WriteLine(number);
        }
    }
}

Вывод:

43.27

2. double

Например:

using System;
namespace DataType
{
    class DoubleExample
    {
        public static void Main(string[] args)
        {
            double value = -11092.53D;
            Console.WriteLine(value);
        }
    }
}

Вывод:

-11092.53

Символ (char)

Например:

using System;
namespace DataType
{
    class CharExample
    {
        public static void Main(string[] args)
        {
            char ch1 = '\u0042';
            char ch2 = 'x';
            Console.WriteLine(ch1);
            Console.WriteLine(ch2);
        }
    }
}

Вывод:

B x

Unicode значение 'B' — '\u0042', поэтому печать ch1 выдаст 'B'.


Decimal

Например:

using System;
namespace DataType
{
    class DecimalExample
    {
        public static void Main(string[] args)
        {
            decimal bankBalance = 53005.25M;
            Console.WriteLine(bankBalance);
        }
    }
}

Вывод:

53005.25

Суффикс M или m должен быть добавлен в конце, иначе значение будет воспринято как double и возникнет ошибка.


C# Литералы

Рассмотрим следующее утверждение:

int number = 41;

Здесь:

Литералы — фиксированные значения, появляющиеся в программе. Они не требуют вычислений. Например, 5, false, 'w' — литералы, появляющиеся напрямую без вычислений.


Булевы литералы

Например:

bool isValid = true;
bool isPresent = false;

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


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


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

Язык C

  1. Освоение переменных, литералов и констант в C++: подробное руководство
  2. Понимание типов данных C++: основы, модификаторы и лучшие практики
  3. Переменные, константы и литералы в C: полное руководство
  4. Типы данных в C: int, float, char и другие — полное руководство
  5. Классы хранения в C: область видимости, время жизни и производительность
  6. Освоение типов данных в Python: практическое руководство
  7. Переменные и литералы в Java: подробное руководство
  8. Примитивные типы данных в Java: полное руководство с примерами
  9. Переменные и типы данных в C++: подробное руководство по int, double, char, string, bool
  10. Типы переменных в Java: локальные, экземпляра и статические