C# Переменная
Переменная — это всего лишь имя, присвоенное области хранения, которой может управлять программа.
В C# переменная — это идентификатор, используемый для хранения и представления данных. При объявлении переменной необходимо указать тип переменной и, при необходимости, можно присвоить ей начальное значение.
В C# каждая переменная имеет определенный тип, который определяет размер памяти и расположение переменной. Значения в этом диапазоне могут храниться в памяти, и над переменной можно выполнять ряд операций.
Мы уже обсудили различные типы данных. Базовые типы значений, предоставляемые в C#, можно условно разделить на следующие категории:
| Type | Пример |
|---|---|
| Целочисленные типы | sbyte, byte, short, ushort, int, uint, long, ulong и char |
| Тип с плавающей запятой | float, double |
| Тип Decimal | decimal |
| Логический тип | значение true или false, указанное значение |
| Пустая строка | string |
| пустой тип | Типы данных, допускающие значение NULL |
C# позволяет определять переменные других типов значений, таких какenum, а также позволяет определять переменные ссылочных типов, таких какclass. Они будут рассмотрены в следующих главах. В этой главе мы изучаем только базовые типы переменных.
В C# 4.0 был введён тип dynamic, который позволяет выводить тип переменной во время выполнения. Это полезно в некоторых особых случаях, но обычно лучше использовать статические типы для лучшей производительности и проверки типов во время компиляции.
dynamic dynamicVariable = "This can be any type";
Определение переменных в C#
Синтаксис определения переменных в C#:
<data_type> <variable_list>;
Здесь data_type должен быть допустимым типом данных C#, который может быть char, int, float, double или другим определяемым пользователем типом данных. variable_list может состоять из одного или нескольких имён идентификаторов, разделённых запятыми.
Ниже показаны некоторые допустимые определения переменных:
int i, j, k; char c, ch; float f, salary; double d;
Можно инициализировать во время определения переменной:
int i = 100;
Соглашения об именовании переменных
В C# при именовании переменных нужно соблюдать некоторые правила:
- Имена переменных могут содержать буквы, цифры и знаки подчёркивания.
- Имена переменных должны начинаться с буквы или знака подчёркивания.
- Имена переменных чувствительны к регистру.
- Избегайте использования ключевых слов C# в качестве имен переменных.
int myVariable = 10; string _userName = "John";
Инициализация переменных в C#
Переменные инициализируются (им присваивается значение) путем указания после знака равенства константного выражения. Общая форма инициализации такова:
variable_name = value;
Переменные можно инициализировать (задать начальное значение) во время объявления. Инициализация состоит из знака равенства, за которым следует константное выражение, как показано ниже:
<data_type> <variable_name> = value;
Несколько примеров:
int d = 3, f = 5; /* 初始化 d 和 f. */ byte z = 22; /* 初始化 z. */ double pi = 3.14159; /* 声明 pi 的近似值 */ char x = 'x'; /* 变量 x 的值为 'x' */
Правильная инициализация переменных — хорошая программистская привычка; в противном случае программа иногда может выдавать неожиданные результаты.
Рассмотрим следующий пример, в котором используются переменные различных типов:
Пример
namespace VariableDefinition
{
class Program
{
static void Main(string[] args)
{
short a;
int b ;
double c;
/* Фактическая инициализация */
a = 10;
b = 20;
c = a + b;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
}
}
}
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
a = 10, b = 20, c = 30
Получение значений от пользователя
В пространстве имен Systemкласс Consoleпредоставляет функциюReadLine(), используемую для получения ввода от пользователя и сохранения его в переменной., used to receive input from the user and store it in a variable.Например:
int num; num = Convert.ToInt32(Console.ReadLine());
ФункцияConvert.ToInt32()преобразует введенные пользователем данные в тип данных int, потому чтоConsole.ReadLine()принимает только данные в строковом формате.
Lvalue и rvalue в C#
Два типа выражений в C#:
lvalue: Выражение lvalue может находиться в левой или правой части оператора присваивания.
rvalue: Выражение rvalue может находиться в правой части оператора присваивания, но не может находиться в левой части.
Переменные являются lvalue, поэтому они могут находиться в левой части оператора присваивания. Числовые значения являются rvalue, поэтому им нельзя присвоить значение и они не могут находиться в левой части оператора присваивания. Следующий оператор является допустимым:
int g = 20;
Следующий оператор является недопустимым и вызовет ошибку времени компиляции:
10 = 20;Другие расширения