Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка Карягин Жан.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

1.4.2.2 Елементи мови c#

Клас – це обумовлений користувачем тип даних. Клас можна уявити собі як креслення, за яким організовуються його члени. На відміну від класу об'єктом називається конкретний примірник певного класу, з допомогою якого зазвичай проводяться певні дії в програмі.

В С# змінна будь-якого класу – це посилання на об’єкт в пам'яті, але не сам об’єкт. При створенні змінної будь-якого класу використовується конструктор класу. Конструктор класу являє собою метод з ім’ям, що збігається з назвою класу, і не повертає ніякого значення. У класі можуть бути визначені кілька конструкторів, які беруть різну кількість параметрів. Якщо в класі явно не визначено конструктор, то компілятор автоматично створює конструктор за замовчуванням без параметрів, в якому дані класу отримують значення за замовчуванням. Конструктор за замовчуванням без параметрів може бути також явно визначений у класі.

Всі типи в С# поділяються на дві основні різновиди: структурні типи (value-based) і посилальні типи (reference-based). До структурних типів відносяться всі числові типи даних (int, float та ін.), а також перерахування (enum) і структури (struct). Пам’ять для структурних типів виділяється зі стека. При присвоєнні змінній одного структурного типу іншого типу змінної відбувається побітне копіювання значення першої змінної у другу змінну. Для створення змінних структурного типу оператор new не використовується (за винятком виклику конструктора з параметрами для структур). До посилальних типів відносяться класи (class) і інтерфейси (interface).

Пам’ять для посилальних типів виділяється з «керованої купи». При присвоєнні змінної одного посилального іншого типу змінної створюється ще одне посилання, що вказує на ту ж область пам’яті, що й перша змінна. Для створення змінних посилального типу використовується оператор new.

В С# всі типи даних (як структурні, так і посилальні) є похідними від класу Object. Клас Object визначає загальну поліморфічну поведінку для всіх типів даних.

Перелік вбудованих типів мови C# і відповідних їм системних типів .NET:

  • byte (Byte) – ціле в діапазоні від 0 до 255;

  • short (Int16) – ціле в діапазоні від -32768 до 32767;

  • int (Int32) – ціле в діапазоні від -2 147 483 648 до 2 147 483 647;

  • long (Int64) – ціле в діапазоні від -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807;

  • char (Char) – один 16-бітовий символ Unicode;

  • string (String) – рядок необмеженого розміру символів Unicode;

  • float (Single) – число з плаваючою точкою від 10(-45) до 10(38);double (Double) – число з плаваючою точкою від 10(-324) до 10(308);

  • bool (Boolean) – логічне значення true або false;

  • object (Object) – все, що завгодно.

Для оголошення константи використовується ключове слово const. 

Цикл з лічильником визначається наступним чином: for (ініціалізація лічильника; умова; зміна лічильника) тіло циклу. Цикл з лічильником припиняється в тому випадку, коли умова стає хибною.

Цикл з передумовою записується наступним чином: while(умова) тіло циклу. Цикл з передумовою припиняється в тому випадку, коли умова стає хибною.

Цикл з постумовою записується наступним чином: do тіло циклу while(умова). Цикл з постумовою припиняється в тому випадку, коли умова стає хибною.

Цикл з масивом записується наступним чином: foreach(елемент масиву in масив) тіло циклу. Цикл з масивом припиняється в тому випадку, коли буде закінчено перебір всіх елементів масиву.

У всіх циклах можна застосовувати оператори break і continue.

Для перевірки умови використовується наступна конструкція: if (умова) умова вірно else умова false

Для множинною перевірки значення змінної використовується наступна конструкція: switch(змінна){case значення 1: код для значення 1 break; case значення 2: код для значення 2 break; default:код для значення за умовчанням}.

Масив – це набір елементів одного типу, доступ до яких здійснюється за допомогою числового індексу. В С# масиви можуть бути простими або багатовимірними. Масиви оголошуються шляхом приміщення квадратних дужках після вказівки типу даних для елементів цього масиву. Синтаксис оголошення масиву: тип[] масив=new тип[кількість елементів]; або тип[] масив; масив=new тип[кількість елементів]. Елементи масиву можуть бути ініціалізовані при оголошенні: тип[] масив={значення, значення, ...}.

Для доступу до елемента масиву після його імені в квадратних дужках вказується індекс елемента. Індексація елементів масиву завжди починається з 0. Необхідно звернути увагу на те, що будь-який масив є похідним класом від класу Array. В наслідок цього будь-який масив в C# успадковує велику кількість корисних методів обробки елементів масиву.

Для поліпшення структурування програмного коду в C# використовуються простори імен. Для оголошення простору імен використовується наступна конструкція: namespace і’мя{визначення типів}.

У подальшому для звернення до типу, оголошеного в просторі імен, використовується конструкція імя-тип. Простори імен можуть бути вкладеними. Для підключення класів з будь-якого простору імен використовується конструкція using ім’я. Якщо підключено простір імен, то можна посилатися на тип і без вказівки простору імен.