SlideShare a Scribd company logo
1 of 46
.NET Framework і C#
module 1. Основи C#
Andrey Gladky
KspDevelop@gmail.co
m 1
В цьому уроці ви:
 взнаєте про платформу .NET і мову C#;
 познайомитесь з базовим синтаксисом мови;
 взнаєте про змінні, типи і операції над ними;
 взнаєте про приведення типів в C#;
 взнаєте про літерали;
 взнаєте про розгалуження і цикли;
 отримаєте базові знання про об’єкти і класи;
 створите най простішу програму
2
Andrey Gladky
KspDevelop@gmail.com
Архітектура .Net
.Net Framework
CLR BCL
Мови
програмування
C# VB.NET
3
Andrey Gladky
KspDevelop@gmail.co
m
CTS CLS
Andrey Gladky KspDevelop@gmail.com 4
Створення проекту
Andrey Gladky
KspDevelop@gmail.com 5
Andrey Gladky
KspDevelop@gmail.com 6
Для мінімального проекту необхідний файл
з розширенням *.cs
Andrey Gladky
KspDevelop@gmail.com 7
Andrey Gladky
KspDevelop@gmail.com 8
Для компіляції необхідно натиснути ctrl + F5
Базовий синтаксис
 Вирази:
• Визначення змінних
• Операції присвоєння
• Виклик функції
• Закінчуються на ‘;’
• Об'єднуються за допомогою {i}
• Коментарі:
• Однорядкові - //
• Багаторядкові - /* */
• Чутливі до регістру
9
Andrey Gladky
KspDevelop@gmail.com
Базовий синтаксис
 Приклад:
10
Andrey Gladky
KspDevelop@gmail.com
Змінні
 Змінна – логічна комірка
 Змінна зберігає інформацію
 Має визначений тип
 Види:
• Типи значень
• Типи посилань
11
Andrey Gladky
KspDevelop@gmail.com
Типи значень
 Структури
• Числові типи
• Символьні типи
• Логічні типи
• Користувацькі структури
• Перерахування
12
Andrey Gladky
KspDevelop@gmail.com
Ієрархія типів в C#
Andrey Gladky
KspDevelop@gmail.com 13
Цілі типи даних
Andrey Gladky
KspDevelop@gmail.com 14
Типи даних для чисел з плаваючою
комою
Andrey Gladky
KspDevelop@gmail.com 15
Основні типи значень
16
Тип Опис
bool Логічний оператор. Може приймати значення “істина” (true) і “хибне”
(false).
byte Займає в пам’яті один байт. Може зберігати в себе число в діапазоні 0-254
char Зберігає в себе один текстовий символ.
double Тип з плаваючою комою подвійної точності. Приймає значення в діапазоні
±5.0 × 10-324 - ±1.7 × 10308, має точність 15, 16 знаків після коми.
enum Тип перерахування. Визначається користувачем. Містить в собі задану
кількість різних значень, які потім можуть приймати змінні цього типу.
float Число з плаваючою комою. Приймає значення в діапазоні ±1.5 × 10-45 - ±3.4
× 1038, має точність 7 знаків після коми.
int Ціле число. Може приймати значення в діапазоні -2 147 483 648 - 2 147 483
647.
struct Структура – тип даних, який може зберігати в собі змінні, методи,
конструктори, тобто володіє всі властивостями об’єкта, однак являється
типом значення.
Andrey Gladky
KspDevelop@gmail.com
Типи посилань
17
Змінна 1
Змінна 3
Змінна 2Значення 1
Значення 2
Значення 3
Значення 4
Значення 5
Значення 6
Andrey Gladky
KspDevelop@gmail.co
m
Символьні типи
 Тип даних char використовується для представлення
символьної інформації у форматі Unicode
Деякі корисні методи
Andrey Gladky
KspDevelop@gmail.co
m 18
Andrey Gladky
KspDevelop@gmail.com 19
Інші типи даних
Серед вище перерахованих типів даних в .Net Framework
передбачені такі типи як object i string.
Тип даних string (.Net Class: System.String) представляє
собою колекцію Unicode символів.
Клас String містить сукупність наступних
статичних методів:
• Compare – порівнює два рядки передані в якості
аргументів;
• CompareOrdinal -- порівнює два рядки передані в якості
аргументів з урахуванням регістру;
• Concat – повертає результат об’єднання масиву рядків;
• Copy – створює новий екземпляр рядка;
• Equals – порівнює значення двох рядків;
• IsNullOrEmpty -- визначає являється рядок пустим або
еквівалентним Null.
Andrey Gladky
KspDevelop@gmail.co
m 20
Нестандартні методи
• Clone – повертає посилання на новий екземпляр рядка;
• Contains – визначає чи містить поточний рядок вказане
в параметрах значення;
• CopyTo – копіює поточний рядок у вказаний масив
символів;
• EndsWith – визначає чи закінчується поточний рядок
вказаним значенням;
• Insert – вставляє під рядок у вказану позицію в поточний
рядок;
• Remove – видаляє з поточного рядка всі входження
вказаного під рядка;
• Replace – замінює вказаний під рядок новим під рядком;
• Split – ділить рядок на масив рядків, основуючись на
переданому масиві розділювачів(сепароторів);
Andrey Gladky
KspDevelop@gmail.co
m 21
• StartsWith – визначає чи починається поточний рядок з
вказаного під рядка;
• Substring – повертає вказаний під рядок поточного рядка;
• ToLower – переводить поточний рядок в нижній регістр;
• ToUpper – переводить рядок в верхній регістр;
• Trim – видаляє пробільні символи з обох боків;
• TrimEnd – видаляє пробіли в кінці рядка;
• TrimStart – видаляє пробіли на початку рядка
Andrey Gladky
KspDevelop@gmail.com 22
Тип object
 Тип даних object (.NET Class: System.Object)
являється базовим для всіх типів даних і має 5
методів:
• ToString ;
• GetType;
• Equals;
• ReferenceEquals;
• GetHashCode.
Andrey Gladky
KspDevelop@gmail.co
m 23
Метод ToString()
Andrey Gladky
KspDevelop@gmail.co
m 24
Операції над змінними
 Присвоєння (=)
 Арифметичні операції (+, -, *, /)
• Комбіновані (+=, -=, *=, /=)
 Логічні операції
Andrey Gladky
KspDevelop@gmail.com 25
Логічні операції
Операція Опис
|| Логічне “або”. Повертає true , якщо хоча б один із операндів
дорівнює true.
&& Логічне “і”. Повертає true лише тоді, коли всі операнди
дорівнюють true, інакше повертає false
== Операція порівняння на рівність. Порівнює дві змінні одного
типу і повертає true, якщо вони рівні.
!= Операція порівняння на нерівність. Порівнює дві змінні одного
типу і повертає true, якщо вони нерівні.
> Операція порівняння “більше”. Порівнює дві змінні одного типу і
повертає true, якщо ліва більша правої.
< Операція порівняння “менше”. Порівнює дві змінні одного типу і
повертає true, якщо ліва менша правої.
>= Операція порівняння “більше дорівнює”. Порівнює дві змінні
одного типу і повертає true, якщо ліва більша або рівна правій.
<= Операція порівняння “менше дорівнює”. Порівнює дві змінні
одного типу і повертає true, якщо ліва менша або рівна правій.
Andrey Gladky
KspDevelop@gmail.com 26
Приведення типів
 Автоматичне (не явне) приведення типів відбувається при
наступних умовах:
 два типи сумісні
 діапазон представлення чисел цільового типу більший, ніж у вихідного типу
 Явне приведення не сумісних типів
 Роль класу System.Convert()
Andrey Gladky
KspDevelop@gmail.com 27
(цільовий_тип) вираз
byte sum =
Convert.ToByte(var1 + var2)
Не явне приведення
Andrey Gladky
KspDevelop@gmail.com 28
Явне приведення
Andrey Gladky
KspDevelop@gmail.com 29
Клас System.Convert()
Andrey Gladky
KspDevelop@gmail.co
m 30
Overflow і underflow
 Ключові слова:
• checked
• unchecked
Andrey Gladky
KspDevelop@gmail.co
m 31
Літерали в C#
 Літерали – це фіксовані значення, які представленні
в зрозумілій формі. Всі літерали мають мати тип.
 Для явної специфікацій типу даних, літералу в С#
передбачені спеціальні суфікси:
 об’явлення з суфіксом “L” буде мати тип long;
 з суфіксом “F” буде мати тип float;
 з суфіксом “D” буде мати тип double;
 з суфіксом “M” буде мати тип decimal;
 суфікс “U” робить число без знаковим.
Andrey Gladky
KspDevelop@gmail.com 32
Використання літералів
Andrey Gladky
KspDevelop@gmail.c
om 33
Літерали як керуючі символи
 Використовується для форматування тексту
Andrey Gladky
KspDevelop@gmail.co
m 34
Літерал Дія
a Звуковий сигнал
b Повернення на одну позицію
f Перехід на початок наступної сторінки
n Новий рядок
r Повернення каретки
t Горизонтальна табуляція
v Вертикальна табуляція
0 Нуль-символ (символ кінця рядка)
’ Одинарні лапки
” Подвійні лапки
 Зворотній слеш
Умовні оператори
 Виконують або одну або іншу дію, в залежності від
умови
 Види
• if-else
• switch
Andrey Gladky
KspDevelop@gmail.co
m 35
if-else
 Синтаксис
Andrey Gladky
KspDevelop@gmail.co
m 36
С# Сенс
if (умова)
{
[вираз 1]
}
else
{
[вираз 2]
}
якщо (умова)
{
умова істина
}
інакше
{
умова хибна
}
if-else
 Починається з if
 Умова в дужках
 Умова рівна true – виконуємо блок if
 Умова рівна false – виконуємо блок else
 Декілька дій заключають в {i}
Andrey Gladky
KspDevelop@gmail.com 37
switch
 Синтаксис:
Andrey Gladky
KspDevelop@gmail.com 38
С# Сенс
switch (умова)
{
case [варіант 1]:
[вираз 1]
break;
case [варіант 2]:
case [варіант 3]:
[вираз 2]
break;
default:
[вираз 3]
break;
}
вибрати (умова) з
{
значення [варіант 1]:
[вираз 1]
стоп;
значення [варіант 2]:
значення [варіант 3]:
[вираз 2]
стоп;
[нічого з попереднього]:
[вираз 3]
стоп;
}
switch
 Починається з switch
 Умова в дужках (і) – будь яка змінна
 Варіанти починаються з case
 Можна об’єднати варіанти
 Після кожного варіанту – brake
 Дія за замовчуванням – default
Andrey Gladky
KspDevelop@gmail.com 39
Цикли
 Використовуються для циклічного повторення
послідовності дій
 Види:
• for
• foreach
• while
Andrey Gladky
KspDevelop@gmail.com 40
Цикл for
Andrey Gladky
KspDevelop@gmail.com 41
 [операція 1] – 1 раз на початку
 [умова] – перевірка значення лічильника
 [тіло циклу] – виконується n-раз поки умова циклу
істина
 [операція 2] – після кожної ітерації циклу
 continue – для переривання і продовження
 break – для дострокового виходу з циклу
 Застерігайтесь зациклювання
for ([операція 1]; [умова]; [операція 2])
{
[тіло циклу]
}
Цикл foreach
 Цикл foreach служить для циклічного звернення до
елементів колекції, що представляє собою групу
об’єктів.
Andrey Gladky
KspDevelop@gmail.com 42
foreach (тип ім’я_змінної_цикла in колекція)
{
[тіло циклу]
}
Цикл while
 Виконується поки умова істина
 Виконається хоча б один раз
Andrey Gladky
KspDevelop@gmail.com 43
while (умова)
{
[вираз тіла циклу]
}
do
{
[вираз тіла циклу]
}
while (умова);
Класи і об’єкти
 ООП – основа .Net Framework
 Об’єкт екземпляр класу
 Весь функціонал програми – класи і об’єкти
 Клас:
• Методи
• Властивості
• Події
 Рівні видимості:
• public
• protected
• private
Andrey Gladky
KspDevelop@gmail.com 44
Простір імен
 Сукупність класів
 Зручні для групування
 Використовуйте using для підключення просторів
імен
 Основа – System
Andrey Gladky
KspDevelop@gmail.com 45
Завдання
 Розробити консольний додаток:
◦ Запитати ім’я користувача і пароль (зберегти у відповідних
змінних)
◦ Для чотирьох місяців ввести прибуток компанії (місяць -
дохід)
◦ Посортувати рахунки по зростанню
◦ Ще раз запитати ім’я користувача і пароль
◦ Якщо введені дані вірні, вивести на консоль сортований
список доходів відповідно до місяця
◦ По завершенню вивести середнє значення доходу
Andrey Gladky
KspDevelop@gmail.com 46

More Related Content

Similar to Net framework і c# lesson1

Net framework і c# module 11
Net framework і c# module 11Net framework і c# module 11
Net framework і c# module 11Andrii Hladkyi
 
sql introduction
sql introductionsql introduction
sql introductioneleksdev
 
Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1rznz
 
Pascal osnovu
Pascal osnovuPascal osnovu
Pascal osnovuEscuela
 
Компютерне моделювання
Компютерне моделюванняКомпютерне моделювання
Компютерне моделюванняriyoksana1
 
Net framework і c# module 9
Net framework і c# module 9Net framework і c# module 9
Net framework і c# module 9Andrii Hladkyi
 
System programing module 3
System programing module 3System programing module 3
System programing module 3Andrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsAndrii Hladkyi
 

Similar to Net framework і c# lesson1 (16)

Net framework і c# module 11
Net framework і c# module 11Net framework і c# module 11
Net framework і c# module 11
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
sql introduction
sql introductionsql introduction
sql introduction
 
3018 1
3018 13018 1
3018 1
 
l9
l9l9
l9
 
Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1
 
Pascal osnovu
Pascal osnovuPascal osnovu
Pascal osnovu
 
Компютерне моделювання
Компютерне моделюванняКомпютерне моделювання
Компютерне моделювання
 
Net framework і c# module 9
Net framework і c# module 9Net framework і c# module 9
Net framework і c# module 9
 
System programing module 3
System programing module 3System programing module 3
System programing module 3
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
Python for physicists. introduction
Python for physicists. introductionPython for physicists. introduction
Python for physicists. introduction
 
Uml module 3
Uml module 3Uml module 3
Uml module 3
 
Uml module 3
Uml module 3Uml module 3
Uml module 3
 
Uml module 3
Uml module 3Uml module 3
Uml module 3
 
базовI структури алгоритму урок 4
базовI структури алгоритму урок 4базовI структури алгоритму урок 4
базовI структури алгоритму урок 4
 

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. SerializationAndrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorAndrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. ThreadsAndrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. ProcessesAndrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsAndrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsAndrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesAndrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOPAndrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Uml module 6
Uml module 6Uml module 6
Uml module 6
 

Net framework і c# lesson1

  • 1. .NET Framework і C# module 1. Основи C# Andrey Gladky KspDevelop@gmail.co m 1
  • 2. В цьому уроці ви:  взнаєте про платформу .NET і мову C#;  познайомитесь з базовим синтаксисом мови;  взнаєте про змінні, типи і операції над ними;  взнаєте про приведення типів в C#;  взнаєте про літерали;  взнаєте про розгалуження і цикли;  отримаєте базові знання про об’єкти і класи;  створите най простішу програму 2 Andrey Gladky KspDevelop@gmail.com
  • 3. Архітектура .Net .Net Framework CLR BCL Мови програмування C# VB.NET 3 Andrey Gladky KspDevelop@gmail.co m CTS CLS
  • 7. Для мінімального проекту необхідний файл з розширенням *.cs Andrey Gladky KspDevelop@gmail.com 7
  • 8. Andrey Gladky KspDevelop@gmail.com 8 Для компіляції необхідно натиснути ctrl + F5
  • 9. Базовий синтаксис  Вирази: • Визначення змінних • Операції присвоєння • Виклик функції • Закінчуються на ‘;’ • Об'єднуються за допомогою {i} • Коментарі: • Однорядкові - // • Багаторядкові - /* */ • Чутливі до регістру 9 Andrey Gladky KspDevelop@gmail.com
  • 11. Змінні  Змінна – логічна комірка  Змінна зберігає інформацію  Має визначений тип  Види: • Типи значень • Типи посилань 11 Andrey Gladky KspDevelop@gmail.com
  • 12. Типи значень  Структури • Числові типи • Символьні типи • Логічні типи • Користувацькі структури • Перерахування 12 Andrey Gladky KspDevelop@gmail.com
  • 13. Ієрархія типів в C# Andrey Gladky KspDevelop@gmail.com 13
  • 14. Цілі типи даних Andrey Gladky KspDevelop@gmail.com 14
  • 15. Типи даних для чисел з плаваючою комою Andrey Gladky KspDevelop@gmail.com 15
  • 16. Основні типи значень 16 Тип Опис bool Логічний оператор. Може приймати значення “істина” (true) і “хибне” (false). byte Займає в пам’яті один байт. Може зберігати в себе число в діапазоні 0-254 char Зберігає в себе один текстовий символ. double Тип з плаваючою комою подвійної точності. Приймає значення в діапазоні ±5.0 × 10-324 - ±1.7 × 10308, має точність 15, 16 знаків після коми. enum Тип перерахування. Визначається користувачем. Містить в собі задану кількість різних значень, які потім можуть приймати змінні цього типу. float Число з плаваючою комою. Приймає значення в діапазоні ±1.5 × 10-45 - ±3.4 × 1038, має точність 7 знаків після коми. int Ціле число. Може приймати значення в діапазоні -2 147 483 648 - 2 147 483 647. struct Структура – тип даних, який може зберігати в собі змінні, методи, конструктори, тобто володіє всі властивостями об’єкта, однак являється типом значення. Andrey Gladky KspDevelop@gmail.com
  • 17. Типи посилань 17 Змінна 1 Змінна 3 Змінна 2Значення 1 Значення 2 Значення 3 Значення 4 Значення 5 Значення 6 Andrey Gladky KspDevelop@gmail.co m
  • 18. Символьні типи  Тип даних char використовується для представлення символьної інформації у форматі Unicode Деякі корисні методи Andrey Gladky KspDevelop@gmail.co m 18
  • 20. Інші типи даних Серед вище перерахованих типів даних в .Net Framework передбачені такі типи як object i string. Тип даних string (.Net Class: System.String) представляє собою колекцію Unicode символів. Клас String містить сукупність наступних статичних методів: • Compare – порівнює два рядки передані в якості аргументів; • CompareOrdinal -- порівнює два рядки передані в якості аргументів з урахуванням регістру; • Concat – повертає результат об’єднання масиву рядків; • Copy – створює новий екземпляр рядка; • Equals – порівнює значення двох рядків; • IsNullOrEmpty -- визначає являється рядок пустим або еквівалентним Null. Andrey Gladky KspDevelop@gmail.co m 20
  • 21. Нестандартні методи • Clone – повертає посилання на новий екземпляр рядка; • Contains – визначає чи містить поточний рядок вказане в параметрах значення; • CopyTo – копіює поточний рядок у вказаний масив символів; • EndsWith – визначає чи закінчується поточний рядок вказаним значенням; • Insert – вставляє під рядок у вказану позицію в поточний рядок; • Remove – видаляє з поточного рядка всі входження вказаного під рядка; • Replace – замінює вказаний під рядок новим під рядком; • Split – ділить рядок на масив рядків, основуючись на переданому масиві розділювачів(сепароторів); Andrey Gladky KspDevelop@gmail.co m 21
  • 22. • StartsWith – визначає чи починається поточний рядок з вказаного під рядка; • Substring – повертає вказаний під рядок поточного рядка; • ToLower – переводить поточний рядок в нижній регістр; • ToUpper – переводить рядок в верхній регістр; • Trim – видаляє пробільні символи з обох боків; • TrimEnd – видаляє пробіли в кінці рядка; • TrimStart – видаляє пробіли на початку рядка Andrey Gladky KspDevelop@gmail.com 22
  • 23. Тип object  Тип даних object (.NET Class: System.Object) являється базовим для всіх типів даних і має 5 методів: • ToString ; • GetType; • Equals; • ReferenceEquals; • GetHashCode. Andrey Gladky KspDevelop@gmail.co m 23
  • 25. Операції над змінними  Присвоєння (=)  Арифметичні операції (+, -, *, /) • Комбіновані (+=, -=, *=, /=)  Логічні операції Andrey Gladky KspDevelop@gmail.com 25
  • 26. Логічні операції Операція Опис || Логічне “або”. Повертає true , якщо хоча б один із операндів дорівнює true. && Логічне “і”. Повертає true лише тоді, коли всі операнди дорівнюють true, інакше повертає false == Операція порівняння на рівність. Порівнює дві змінні одного типу і повертає true, якщо вони рівні. != Операція порівняння на нерівність. Порівнює дві змінні одного типу і повертає true, якщо вони нерівні. > Операція порівняння “більше”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша правої. < Операція порівняння “менше”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша правої. >= Операція порівняння “більше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша або рівна правій. <= Операція порівняння “менше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша або рівна правій. Andrey Gladky KspDevelop@gmail.com 26
  • 27. Приведення типів  Автоматичне (не явне) приведення типів відбувається при наступних умовах:  два типи сумісні  діапазон представлення чисел цільового типу більший, ніж у вихідного типу  Явне приведення не сумісних типів  Роль класу System.Convert() Andrey Gladky KspDevelop@gmail.com 27 (цільовий_тип) вираз byte sum = Convert.ToByte(var1 + var2)
  • 28. Не явне приведення Andrey Gladky KspDevelop@gmail.com 28
  • 31. Overflow і underflow  Ключові слова: • checked • unchecked Andrey Gladky KspDevelop@gmail.co m 31
  • 32. Літерали в C#  Літерали – це фіксовані значення, які представленні в зрозумілій формі. Всі літерали мають мати тип.  Для явної специфікацій типу даних, літералу в С# передбачені спеціальні суфікси:  об’явлення з суфіксом “L” буде мати тип long;  з суфіксом “F” буде мати тип float;  з суфіксом “D” буде мати тип double;  з суфіксом “M” буде мати тип decimal;  суфікс “U” робить число без знаковим. Andrey Gladky KspDevelop@gmail.com 32
  • 34. Літерали як керуючі символи  Використовується для форматування тексту Andrey Gladky KspDevelop@gmail.co m 34 Літерал Дія a Звуковий сигнал b Повернення на одну позицію f Перехід на початок наступної сторінки n Новий рядок r Повернення каретки t Горизонтальна табуляція v Вертикальна табуляція 0 Нуль-символ (символ кінця рядка) ’ Одинарні лапки ” Подвійні лапки Зворотній слеш
  • 35. Умовні оператори  Виконують або одну або іншу дію, в залежності від умови  Види • if-else • switch Andrey Gladky KspDevelop@gmail.co m 35
  • 36. if-else  Синтаксис Andrey Gladky KspDevelop@gmail.co m 36 С# Сенс if (умова) { [вираз 1] } else { [вираз 2] } якщо (умова) { умова істина } інакше { умова хибна }
  • 37. if-else  Починається з if  Умова в дужках  Умова рівна true – виконуємо блок if  Умова рівна false – виконуємо блок else  Декілька дій заключають в {i} Andrey Gladky KspDevelop@gmail.com 37
  • 38. switch  Синтаксис: Andrey Gladky KspDevelop@gmail.com 38 С# Сенс switch (умова) { case [варіант 1]: [вираз 1] break; case [варіант 2]: case [варіант 3]: [вираз 2] break; default: [вираз 3] break; } вибрати (умова) з { значення [варіант 1]: [вираз 1] стоп; значення [варіант 2]: значення [варіант 3]: [вираз 2] стоп; [нічого з попереднього]: [вираз 3] стоп; }
  • 39. switch  Починається з switch  Умова в дужках (і) – будь яка змінна  Варіанти починаються з case  Можна об’єднати варіанти  Після кожного варіанту – brake  Дія за замовчуванням – default Andrey Gladky KspDevelop@gmail.com 39
  • 40. Цикли  Використовуються для циклічного повторення послідовності дій  Види: • for • foreach • while Andrey Gladky KspDevelop@gmail.com 40
  • 41. Цикл for Andrey Gladky KspDevelop@gmail.com 41  [операція 1] – 1 раз на початку  [умова] – перевірка значення лічильника  [тіло циклу] – виконується n-раз поки умова циклу істина  [операція 2] – після кожної ітерації циклу  continue – для переривання і продовження  break – для дострокового виходу з циклу  Застерігайтесь зациклювання for ([операція 1]; [умова]; [операція 2]) { [тіло циклу] }
  • 42. Цикл foreach  Цикл foreach служить для циклічного звернення до елементів колекції, що представляє собою групу об’єктів. Andrey Gladky KspDevelop@gmail.com 42 foreach (тип ім’я_змінної_цикла in колекція) { [тіло циклу] }
  • 43. Цикл while  Виконується поки умова істина  Виконається хоча б один раз Andrey Gladky KspDevelop@gmail.com 43 while (умова) { [вираз тіла циклу] } do { [вираз тіла циклу] } while (умова);
  • 44. Класи і об’єкти  ООП – основа .Net Framework  Об’єкт екземпляр класу  Весь функціонал програми – класи і об’єкти  Клас: • Методи • Властивості • Події  Рівні видимості: • public • protected • private Andrey Gladky KspDevelop@gmail.com 44
  • 45. Простір імен  Сукупність класів  Зручні для групування  Використовуйте using для підключення просторів імен  Основа – System Andrey Gladky KspDevelop@gmail.com 45
  • 46. Завдання  Розробити консольний додаток: ◦ Запитати ім’я користувача і пароль (зберегти у відповідних змінних) ◦ Для чотирьох місяців ввести прибуток компанії (місяць - дохід) ◦ Посортувати рахунки по зростанню ◦ Ще раз запитати ім’я користувача і пароль ◦ Якщо введені дані вірні, вивести на консоль сортований список доходів відповідно до місяця ◦ По завершенню вивести середнє значення доходу Andrey Gladky KspDevelop@gmail.com 46