Константа - це змінна, значення якої не можна змінити. Константи використовуються для гарантування того, що дані в цій змінній не зміняться.

Для того, щоб оголосити константу, перед звичайним оголошенням змінної потрібно додати ключове слово const:

static void Main(string[] args)
 {
 const int months = 12; // оголошення константи
 months = 13; // помилка компіляції
 }

При оголошенні константи вона обов'язково повинна бути проініціалізована значенням. Константи також роблять ваш код більш красивим, читаним.

static void Main(string[] args)
 {
 const int months = 12;
 const int monthSalary = 1024;
 int yearSalary = monthSalary * months;
 }

Зрозуміліше чим:

static void Main(string[] args)
 {
 int yearSalary = 12 * 1024;
 }

Константи можуть бути двох типів: прості літерали і рядкові:

static void Main(string[] args)
 {
 Console.WriteLine(100); // 100 є 100 і цього ніяк не змінити, це константа, а точніше числовий літерал
 Console.WriteLine("Hello!"); // рядок “Hello!” є рядковим літералом
 }

Результат роботи програми:

Тут варто відрізняти від константи змінних-констант, останні мають ім'я, як у прикладі з місяцями і зарплатою.




Ключове слово var

Починаючи з версії C# 3.0 в мову було додано ключове слово var, яке дозволяє створювати змінні без явної вказівки типу даних. Тип даних такої змінної визначає компілятор по контексту ініціалізації.

static void Main(string[] args)
 {
 var number = 5; // number буде типа int
 var text ="some text"; // text буде типа string
 var number2 = 0.5; // number2 буде типа double
 }

var зберігає принцип строгої типізації в Сі-шарп. Це означає, що після того, як для змінної вже був визначений тип, в неї не можна записати дані іншого типу:

static void Main(string[] args)
 {
 var number = 5;
 number = "some text"; // помилка, number визначений як int
}

Ключове слово var слід використовувати в першу чергу з LINQ виразами (при роботі з базами даних)

static void Main(string[] args)
 {
 var query = from s in bdContext.Students select s;
}

Ключове слово var має обмеження на його використання - var не може бути в якості:

-поля класу

-аргумента функції

-змінній якій присвоюють null

-повертаємого типу функцій

Нововведення var є досить суперечливим серед розробників на C#, деякі використовують його де тільки можливо, інші його уникають (код стає погано читаються).

Посилальні типи

Всі типи даних, про яких ми говорили вище, є структурними. Також існують посилальні типи. З базових типів до посилальних відносяться object і string. Тип object є базовим для всіх інших типів даних. Типу string відповідає рядок символів Unicode.

static void Main(string[] args)
 {
 string hello = "Hello!";
 Console.WriteLine(hello); 
 }

Результат роботи програми:

Структурні типи даних в Сі-шарп зберігаються на стеку. Для цих даних зарезервована область стеку.

Стек — це структура даних, яка зберігає елементи за принципом «останнім прийшов — першим вийшов» . Прикладом з життя служить стос тарілок. Швидкість роботи зі стеком набагато вище, ніж з оперативною пам'яттю, отже, використання стека підвищує швидкість роботи програми.

Посилальні типи зберігаються в купі.

Купа — це область оперативної пам'яті, яка виділяється з додатком для зберігання даних (наприклад об'єктів). Доступ до даних в купі здійснюється повільніше, ніж до стеку. Змінні посилальних типів зберігають посилання на дані.

До посилальних типів відносяться класи, інтерфейси, делегати та масиви.

Автор Swytos                                              << попереднянаступна >>                                                 До змісту


2016-05-27 • Просмотров [ 97 ]