Переменные 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 изменено с 24 на 35.
<час>Переменные в C# должны быть объявлены до того, как их можно будет использовать. Это означает, что имя и тип переменной должны быть известны до того, как им будет присвоено значение. Вот почему C# называют языком со статической типизацией.
После объявления тип данных переменной не может быть изменен в пределах области видимости. Область видимости можно рассматривать как блок кода, в котором переменная видна или доступна для использования. Если вы не понимаете предыдущее утверждение, не волнуйтесь, мы узнаем об областях видимости в следующих главах.
Пока помните, что мы не можем сделать в C# следующее:
int age; age = 24; ... ... ... float age;<час>
Неявно типизированные переменные
В качестве альтернативы в C# мы можем объявить переменную, не зная ее типа, используя var ключевое слово. Такие переменные называются локальными переменными с неявным типом. .
Переменные, объявленные с помощью var ключевое слово должно быть инициализировано во время объявления.
var value = 5;
Компилятор определяет тип переменной по значению, присвоенному переменной. В приведенном выше примере значение имеет тип int . Это эквивалентно:
int value; value = 5;
Вы можете узнать больше о неявно типизированных локальных переменных.
<час>Правила именования переменных в C#
Есть определенные правила, которым мы должны следовать при именовании переменной. Правила именования переменных в C#:
- Имя переменной может содержать только буквы (прописные и строчные), знак подчеркивания (_) и цифры.
- Имя переменной должно начинаться с буквы, знака подчеркивания или символа @. Например,
Правила именования переменных в C# Имена переменных Примечания имя Действительно subject101 Действительно _age Действительно (наилучшая практика для именования закрытых переменных-членов) @break Действительный (используется, если имя является зарезервированным ключевым словом) 101тема Неверный (начинается с цифры) ваше_имя Действительно ваше имя Неверный (содержит пробелы) - C# чувствителен к регистру. Это означает возраст и Возраст относится к двум разным переменным.
- Имя переменной не должно быть ключевым словом C#. Например,
if,for,usingне может быть именем переменной. Подробнее о ключевых словах C# мы поговорим в следующем руководстве.
Рекомендации по именованию переменных
- Выберите имя переменной, которое имеет смысл. Например, имя , возраст , тема имеет больше смысла, чем n , а и s .
- Используйте camelCase нотация (начинается со строчной буквы) для именования локальных переменных. Например, количествостудентов , возраст и т. д.
- Используйте PascalCase или CamelCase (начинается с заглавной буквы) для именования общедоступных переменных-членов. Например, Имя , Цена и т. д.
- Используйте начальное подчеркивание (_), за которым следует camelCase. нотация для именования закрытых переменных-членов. Например, _bankBalance , _emailAddress и т. д.
Подробнее о соглашениях об именах в C# можно узнать здесь.
Не беспокойтесь об общедоступных и частных переменных-членах. Мы узнаем о них в следующих главах.
<час>Примитивные типы данных C#
Переменные в C# можно разделить на два типа:Типы значений. и Типы ссылок. . В этом руководстве мы обсудим примитивные (простые) типы данных, которые являются подклассом типов значений.
Ссылочные типы будут рассмотрены в последующих руководствах. Однако, если вы хотите узнать больше о типах переменных, посетите раздел Типы и переменные C# (официальная документация по C#).
Булевское значение (bool)
- Булев тип данных имеет два возможных значения:
trueилиfalse - Значение по умолчанию :
false - Логические переменные обычно используются для проверки условий, таких как операторы if. , петли и т. д.
Например:
using System;
namespace DataType
{
class BooleanExample
{
public static void Main(string[] args)
{
bool isValid = true;
Console.WriteLine(isValid);
}
}
} Когда мы запустим программу, вывод будет таким:
True<час>
Подписанный интеграл
Эти типы данных содержат целочисленные значения (как положительные, так и отрицательные). Из всех доступных битов один бит используется для знака.
<сильный>1. сбайт
- Размер :8 бит
- Диапазон :от -128 до 127.
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class SByteExample
{
public static void Main(string[] args)
{
sbyte level = 23;
Console.WriteLine(level);
}
}
} Когда мы запустим программу, вывод будет таким:
23
Попробуйте задать значения вне допустимого диапазона, т. е. меньше -128 или больше 127, и посмотрите, что произойдет.
<час><сильный>2. короткий
- Размер :16 бит
- Диапазон :от -32 768 до 32 767
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class ShortExample
{
public static void Main(string[] args)
{
short value = -1109;
Console.WriteLine(value);
}
}
} Когда мы запустим программу, вывод будет таким:
-1109<час>
<сильный>3. интервал
- Размер :32 бита
- Диапазон :с -231 по 231-1
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class IntExample
{
public static void Main(string[] args)
{
int score = 51092;
Console.WriteLine(score);
}
}
} Когда мы запустим программу, вывод будет таким:
51092<час>
<сильный>4. длинный
- Размер :64 бита
- Диапазон :от -263 до 263-1
- Значение по умолчанию :
0L[L в конце представляет значение длинного типа]
Например:
using System;
namespace DataType
{
class LongExample
{
public static void Main(string[] args)
{
long range = -7091821871L;
Console.WriteLine(range);
}
}
} Когда мы запустим программу, вывод будет таким:
-7091821871<час>
Интеграл без знака
Эти типы данных содержат только значения, равные или большие 0. Обычно мы используем эти типы данных для хранения значений, когда уверены, что у нас не будет отрицательных значений.
<сильный>1. байт
- Размер :8 бит
- Диапазон :от 0 до 255.
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class ByteExample
{
public static void Main(string[] args)
{
byte age = 62;
Console.WriteLine(level);
}
}
} Когда мы запустим программу, вывод будет таким:
62<час>
<сильный>2. короткий
- Размер :16 бит
- Диапазон :от 0 до 65 535
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class UShortExample
{
public static void Main(string[] args)
{
ushort value = 42019;
Console.WriteLine(value);
}
}
} Когда мы запустим программу, вывод будет таким:
42019<час>
<сильный>3. нет
- Размер :32 бита
- Диапазон :от 0 до 232-1
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class UIntExample
{
public static void Main(string[] args)
{
uint totalScore = 1151092;
Console.WriteLine(totalScore);
}
}
} Когда мы запустим программу, вывод будет таким:
1151092<час>
<сильный>4. улонг
- Размер :64 бита
- Диапазон :от 0 до 264-1
- Значение по умолчанию :0
Например:
using System;
namespace DataType
{
class ULongExample
{
public static void Main(string[] args)
{
ulong range = 17091821871L;
Console.WriteLine(range);
}
}
} Когда мы запустим программу, вывод будет таким:
17091821871<час>
Плавающая точка
Эти типы данных содержат значения с плавающей запятой, то есть числа, содержащие десятичные значения. Например, 12,36, -92,17 и т. д.
<сильный>1. плавающий
- Тип с плавающей запятой одинарной точности
- Размер :32 бита
- Диапазон :от 1,5 × 10–45 до 3,4 × 1038
- Значение по умолчанию :0.0F [F в конце означает, что значение имеет тип float]
Например:
using System;
namespace DataType
{
class FloatExample
{
public static void Main(string[] args)
{
float number = 43.27F;
Console.WriteLine(number);
}
}
} Когда мы запустим программу, вывод будет таким:
43.27<час>
<сильный>2. двойной
- Тип с плавающей запятой двойной точности. В чем разница между одинарной и двойной точностью с плавающей запятой?
- Размер :64 бита
- Диапазон :от 5,0 × 10–324 до 1,7 × 10 308
- Значение по умолчанию :0.0D [D в конце представляет значение типа double]
Например:
using System;
namespace DataType
{
class DoubleExample
{
public static void Main(string[] args)
{
double value = -11092.53D;
Console.WriteLine(value);
}
}
} Когда мы запустим программу, вывод будет таким:
-11092.53<час>
Персонаж (char)
- Он представляет собой 16-битный символ Юникода.
- Размер :16 бит
- Значение по умолчанию :'\0'
- Диапазон :от U+0000 ('\u0000') до U+FFFF ('\uffff')
Например:
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
Юникодное значение 'B' '\u0042' , следовательно, печатая ch1 напечатает 'B' .
Десятичный
- Десятичный тип имеет большую точность и меньший диапазон по сравнению с типами с плавающей запятой (double и float). Так что это подходит для денежных расчетов.
- Размер :128 бит
- Значение по умолчанию :0.0M [M в конце означает, что значение имеет десятичный тип]
- Диапазон :(от -7,9 x 1028 до 7,9 x 1028) / (от 100 до 28)
Например:
using System;
namespace DataType
{
class DecimalExample
{
public static void Main(string[] args)
{
decimal bankBalance = 53005.25M;
Console.WriteLine(bankBalance);
}
}
}
Когда мы запустим программу, вывод будет таким:
53005.25
Суффикс M или m должно быть добавлено в конце, иначе значение будет рассматриваться как двойное и будет сгенерирована ошибка.
Литералы C#
Давайте посмотрим на следующее утверждение:
int number = 41;
Здесь
intэто тип данных- число является переменной и
41является буквальным
Литералы — это фиксированные значения, которые появляются в программе. Они не требуют никаких вычислений. Например, 5 , false , 'w' — это литералы, которые появляются в программе напрямую без каких-либо вычислений.
Булевы литералы
- true и false — доступные логические литералы.
- Они используются для инициализации логических переменных.
Например:
bool isValid = true; bool isPresent = false;<час>
Целые литералы
- Целые литералы используются для инициализации переменных целочисленных типов данных, например
sbyte. ,short,int,long,byte,ushort,uintиulong. - Если целочисленный литерал заканчивается на
Lилиl, это тип long. Для лучшей практики используйтеL(неl).long value1 = 4200910L; long value2 = -10928190L;
- Если целочисленный литерал начинается с
0x, он представляет собой шестнадцатеричное значение. Число без префиксов рассматривается как десятичное значение. Восьмеричное и двоичное представление не разрешено в C#.int decimalValue = 25; int hexValue = 0x11c;// decimal value 284
Литералы с плавающей запятой
- Литералы с плавающей запятой используются для инициализации переменных типов данных float и double.
- Если литерал с плавающей запятой заканчивается суффиксом
fилиF, это тип float. Точно так же, если он заканчивается наdилиD, это тип double. Если ни один из суффиксов не присутствует, он имеет тип double по по умолчанию. . - Эти литералы содержат e или E, если они выражены в экспоненциальном представлении.
double number = 24.67;// double by default float value = -12.29F; double scientificNotation = 6.21e2;// equivalent to 6.21 x 102 i.e. 621
Символьные и строковые литералы
- Символьные литералы используются для инициализации переменных типа данных char.
- Символьные литералы заключаются в одинарные кавычки. Например,
'x','p'и т. д. - Они могут быть представлены в виде символа, шестнадцатеричной escape-последовательности, представления Unicode или целочисленных значений, приведенных к char.
char ch1 = 'R';// character char ch2 = '\x0072';// hexadecimal char ch3 = '\u0059';// unicode char ch4 = (char)107;// casted from integer
- Строковые литералы — это набор символьных литералов.
- Они заключаются в двойные кавычки. Например,
"Привет"
,
"Простое программирование"
и т. д.
string firstName = "Richard"; string lastName = " Feynman";
- C# также поддерживает символы управляющей последовательности, такие как:
Символ Значение \'Одинарная кавычка \"Двойная кавычка \\Обратная косая черта \nНовая строка \rВозврат каретки \tГоризонтальная вкладка \aПредупреждение \bВозврат
Язык C