Вступ в C#
C# (читається як “сі шарп”) – проста, потужна, статично типізована, об’єктно орієнтована мова програмування від компанії Microsoft. C# входить до сімейства мов програмування C, синтаксис мови буде знайомим програмістам, що працювали з C, C++, Java та JavaScript.
Структура програми
Програма на мові програмування C# має наступну структуру:
Змінні
Змінна – це іменована ділянка в пам’яті в якій зберігаються дані заданого типу і яка доступна для перегляду, та редагування під час роботи програми.
Літерали
Літерал(literal) – запис у коді програми, який має фіксоване(константне) значення. Літералами також називають представлення деяких типів даних у вигляді рядків тексту. За допомогою літералів, в мові C#, змінним передаються значення.
Типи даних
C# є строго типізованою мовою програмування. Через це, кожна змінна та константа повинна мати тип. Як і в інших мовах програмування, в C# є своя власна система типів, яка використовується при створенні змінних.
Арифметичні операції
Мова C# підтримує множину арифметичних операторів, які дозволяють виконувати над операндами математичні дії, та повертають результат у вигляді числового значення. Операнди – це числові значення: літерали, константи, змінні, які приймають участь у операції.
Бітові операції
Бітові операції – це операції які виконуються над окремими двійковими бітами в числах. В бітових або порозрядних операціях, числа розглядаються як послідовності нулів та одиниць двійкової системи числення.
Оператор присвоєння
Присвоєння (assignment) – механізм, що дозволяє змінювати значення об’єктів. Простими словами, за допомогою присвоєння можна задавати чи змінювати дані, які зберігаються у змінних.
Умовні вирази
Умовні вирази – складні логічні конструкції, в мові програмування C#, які використовуються для керування ходом виконання програми.
Умовні оператори
Умовні оператори – це конструкції, які використовують умовні вирази для керування ходом виконання програми.
Цикли
Цикл – управляюча конструкція, призначена для багаторазового виконання однієї чи декількох інструкцій. Одне циклічне повторення має назву – ітерація.
Масиви
Масив – іменована структура даних, фіксованого розміру, яка дозволяє зберігати, послідовність однотипних елементів, до яких можна звертатися за допомогою індексу.
Рядки
Рядок – це об’єкт типу string(System.String в нотації .Net), який зберігає в собі текстовий рядок. Хоча рядки відносять до примітивних типів даних, насправді вони мають тип за посиланням. Всередині рядків зберігається колекція символів типу char.
Методи
Під час написання програм, деякі рядки з інструкціями повторюються, для того, щоб зменшити кількість коду, покращити читабельність та спростити повторне використання цих інструкцій, їх можна об’єднати в метод.
Параметри масиви
C# дозволяє використовувати в якості параметрів методу будь який тип даних, в тому числі і масиви.
Перевантаження методів
Перевантаження методів – створення однойменних методів, в межах одного класу, які відрізняються кількістю і/або типом параметрів. Перевантажені методи можуть повертати значення різних типів, однак відмінність тільки в типі методу не дозволяється.
Рекурсія
Рекурсія – конструкція, в якій метод напряму(пряма рекурсія) або через інші методи(складна рекурсія) викликає себе. Кількість вкладених викликів методу називають глибиною рекурсії. Рекурсивні методи дають можливість створювати повторювані обчислення без використання циклічних структур.
Перерахування enum
Окрім раніше розглянутих примітивних типів даних, в C# існує окремий тип enum або перерахування, який складається зі списку іменованих констант.
Перерахування як бітові флажки
Перерахування можна використовувати для зберігання бітових флагів, завдяки цьому екземпляр enum може зберігати в собі комбінацію значень констант, визначених в списку. Для створення перерахування з бітовими флажками, використовується атрибут [Flags]. Значення констант задаються таким чином, щоб до них можна було застосовувати бітові операції.
Клас System.Enum
Системний клас Enum надає статичні методи для роботи з перерахуваннями. Розглянемо найбільш часто використовувані з них.