русс | укр

C# - Головна
Контакти
Задайте питання...
Перегляд всіх питань


Простір імен
  ► System (5)
  ► Microsoft (1)


Для учнів (початківців)
  ► Відео уроки (4)
  ► Навчання (177)
  ► Приклади програм (19)
  ► Секрети Сі Шарп (4)

Для професіоналів
  ► Навчання (6)
  ► Приклади програм (1)










Оголошення змінних

Змінні та типи - тісно пов'язані поняття. З об'єктної точки зору мінлива - це екземпляр типу. Скалярну змінну можна розглядати як сутність, що володіє іменем, значенням і типом. Ім'я та тип задаються при оголошенні змінної і залишаються незмінними на всі час її життя. Значення змінної може змінюватися в ході обчислень, ця можливість варіації значень і дало ім'я поняттю мінлива (Variable) в математиці та програмуванні. Отримання початкового значення змінної називається її ініціалізацією. Важливою новинкою мови C# є вимога обов'язкової ініціалізації змінної до початку її використання. Спроба використовувати неинициализированную змінну призводить до помилок, що виявляються ще на етапі компіляції. Ініціалізація змінних, як правило, виконується в момент оголошення, хоча і може бути відкладена.

Загальний синтаксис оголошення змінних (сутностей) в C#:

 

[<атрибути>] [<модифікатори>] <тип> <объявители>;

 

Атрибути і модифікатори будуть розглянуті пізніше. Якщо атрибути і модифікатори можуть не зазначатися в оголошенні, то завдання типу необхідно завжди. Обмежимося поки розглядом вже вивчених вбудованих типів. Коли в ролі типу виступають імена вбудованих типів, це означає, що оголошуються прості скалярні змінні.

При оголошенні простих змінних вказується їх тип і список объявителей, объявитель - це ім'я чи ім'я з ініціалізацією. Список объявителей дозволяє в одному оголошенні задати кілька змінних одного типу. Якщо объявитель задається ім'ям змінної, то має місце оголошення з відкладеним ініціалізацією. Хороший стиль програмування припускає завдання ініціалізації змінної в момент її оголошення. Ініціалізацію можна здійснювати двояко - звичайним присвоюванням або в об'єктній манері. У другому випадку для змінної використовується конструкція new і викликається конструктор за замовчуванням. Метод SimpleVars класу Testing ілюструє різні способи оголошення змінних і найпростіші обчислення над ними:

public void SimpleVars()

{

//Оголошення локальних змінних

int x, s; //без ініціалізації

int y =0, u = 77; //звичайний спосіб ініціалізації

//допустима ініціалізація

float w1=0f, w2 = 5.5 f, w3 =w1+ w2 + 125.25 f;

//допустима ініціалізація в об'єктному стилі

int z= new int();

} //SimpleVars

 

У першій рядку оголошуються змінні x і s з відкладеним ініціалізацією. Зауважте (і це важливо!), що всяка спроба використовувати ще не инициализированную змінну в правих частинах операторів присвоювання, в виклики функцій, взагалі в обчисленнях призводить до помилки вже на етапі компіляції.

Наступні оголошення змінних еквівалентні по суті, але демонструють два стилю ініціалізації - звичайний і об'єктний. Звичайна форма ініціалізації краще не тільки в силу своєї природності, але вона і більш ефективна, оскільки в цьому випадку инициализирующее вираз може бути досить складним, змінними і функціями. На практиці об'єктний стиль для скалярних змінних використовується рідко. Разом з тим корисно розуміти, що оголошення з ініціалізацією int y =0 можна розглядати як створення нового об'єкта (new) і виклику для нього конструктора за замовчуванням. При ініціалізації в об'єктній формі може бути викликаний тільки конструктор за замовчуванням, інші конструктори з параметрами для вбудованих типів не визначені.

 

Переглядів: 1866






© 2012 ci-sharp.ru При використанні матеріалу пряме iндексуюче посилання на сайт ОБОВ'ЯЗКОВЕ.
Права строго захищені нормами міжнародного права, інтелектуальної власності та авторського права.