Переменные

Переменная – это именованный участок памяти в котором хранятся данные заданного типа и которая доступна для просмотра, и редактирования в процессе работы программы.

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

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

В языке C# это можно сделать следующим образом: "тип данных" "имя переменной";, сперва указан тип данных, который храниться в переменной, а за ним имя.

Имя переменной должно соответствовать следующим правилам:

  • начинаться со знака подчеркивания “_“, или Unicode символа(да, в своих приложениях вы можете называть переменные именами, которые состоят из символов национального алфавита);
  • может содержать Unicode символы, цифры и знак подчеркивания;
  • в именах запрещено использовать специальные символы, пробелы, знаки пунктуации;
  • имена не должны совпадать с зарезервированными словами языка программирования C#.
Список зарезервированных слов языка C#
abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in int interface internal
is lock long namespace
new null object operator
out override params private
protected public readonly ref
return sbyte sealed short
sizeof stackalloc static string
struct switch this throw
true try typeof uint
ulong unchecked unsafe ushort
using using static virtual void
volatile while

Желательно давать переменным такие имена, по которым сразу понятно, для чего используется переменная. Это улучшит понимание и качество кода программы.

Пример объявления переменных:

string text;
int number;

Здесь мы определили две переменные, первая типа строка с именем text, вторая – целое число с именем number.

Если возникает необходимость использовать одно из зарезервированных слов в названии переменной, вы можете это сделать, написав перед именем символ “@”. Например int @while;.

Учитывайте то, что C# чувствителен к регистру, поэтому следующий код объявления двух переменных – правильный, а созданные переменные используют разные области памяти:

int age;
int Age;

После того, как вы объявили переменную, можно присвоить ей значение. Для этого используется оператор присваивания – “=”

string user;
user = "Alex";

Также мы можем присвоить переменной значение непосредственно во время объявления, это называется инициализация.

string name = "Lisa";

В дальнейшем значение переменной можно многократно читать и редактировать(изменять), присваивая ей новые значения.

Не смотря на то, что C# позволяет использовать в названиях переменных Unicode символы, в частности русские, правила хорошего тона рекомендуют использовать в именах исключительно английские буквы. Потому, что национальные символы усложняют работу с кодом программы, а иногда могут вызвать дисонанс, когда символы визуально идентичны, а их коды разные(к примеру русская буква “с” и английская “c”).

Область видимости переменных

Область видимости или контекст переменной (scope) – это часть программы, в пределах которой, идентификатор остается связанным с данными в памяти, то есть позволяет через себя обращаться к данным.

В C# достаточно просто определить области видимости переменных, поскольку они отделены фигурными скобками “{” и “}”, которые указывают на начало и конец блока кода.

Выходит переменная может войти во вложенные фигурные скобки с высшего уровня, но не может за пределы скобок в которых она объявлена.

Рассмотрим на примере программы:

class Program
{
    //контекст уровня класса
    private static int num1 = 1;//доступна во всех вложенных в класс методах

    static void Main(string[] args)
    {
        //контекст уровня метода Main
        int num2 = 2; //видима только в пределах метода Main
        Console.WriteLine(num1 + num2);
    }

    static void Print()
    {
        //контекст уровня метода Print
        //здесь нельзя обращаться к num2, поскольку она не может выйти за фигурные скобки метода Main
        //а к num1 можно, она может войти во вложенные скобки
        int num3 = 3; //видима в пределах метода Print
        Console.WriteLine(num1 + num3);
    }
}

Смотрите также: