Змінна – це іменована ділянка в пам’яті в якій зберігаються дані заданого типу і яка доступна для перегляду, та редагування під час роботи програми.
Правила іменування змінних
Виходячи з визначення, бачимо, що змінні повинні мати: тип даних, значення та ім’я, по якому до них звертаються. Для того, щоб мати змогу використовувати змінну, її потрібно оголосити.
В мові C# це можна зробити наступним чином: "тип даних" "ім'я змінної";
, спочатку йде тип даних, які повинні зберігатись в змінній, а потім ім’я.
Ім’я змінної має відповідати наступним правилам:
- розпочинатись зі знаку підкреслювання “_“, або літери Unicode(так, в своїх програмах Ви можете називати змінні іменами, що складаються з символів національного алфавіту);
- може містити Unicode символи, цифри та знак підкреслювання;
- в іменах забороняється використовувати спеціальні символи, пробіли, знаки пунктуації;
- імена не мають співпадати із зарезервованими словами мови програмування 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);
}
}