SlideShare a Scribd company logo
1 of 37
.NET Framework & C#
module 1. Огляд платформи
Andrii Hladky
trilobt@gmail.com 1
В цьому уроці ви:
 взнаєте про платформу .NET і мову C#;
 познайомитесь з базовим синтаксисом мови;
 взнаєте про змінні, типи і операції над ними;
 взнаєте про приведення типів в C#;
 взнаєте про літерали;
 взнаєте про розгалуження і цикли;
 отримаєте базові знання про об’єкти і класи;
 створите най простішу програму
2
Andrii Hladky
trilobt@gmail.com
Архітектура .Net
.Net Framework
CLR BCL
Мови
програмування
C# VB.NET
3
Andrii Hladky
trilobt@gmail.com
CTS CLS
Andrii Hladky trilobt@gmail.com 4
Базовий синтаксис
 Вирази:
• Визначення змінних
• Операції присвоєння
• Виклик функції
• Закінчуються на ‘;’
• Об'єднуються за допомогою {i}
• Коментарі:
• Однорядкові - //
• Багаторядкові - /* */
• Чутливі до регістру
5
Andrii Hladky
trilobt@gmail.com
Змінні
 Змінна – логічна комірка
 Змінна зберігає інформацію
 Має визначений тип
 Види:
• Типи значень
• Типи посилань
6
Andrii Hladky
trilobt@gmail.com
Типи значень
 Структури
• Числові типи
• Символьні типи
• Логічні типи
• Користувацькі структури
• Перерахування
7
Andrii Hladky
trilobt@gmail.com
Ієрархія типів в C#
Andrii Hladky
trilobt@gmail.com 8
Типи значень
Andrii Hladky
trilobt@gmail.com 9
Type Description Range Suffix
byte 8-bit unsigned integer 0 to 255
sbyte 8-bit signed integer -128 to 127
short 16-bit signed integer -32,768 to 32,767
ushort 16-bit unsigned integer 0 to 65,535
int 32-bit signed integer -2,147,483,648
to
2,147,483,647
uint 32-bit unsigned integer 0 to 4,294,967,295 u
long 64-bit signed integer -9,223,372,036,854,775,808
to
9,223,372,036,854,775,807
l
ulong 64-bit unsigned integer 0 to 18,446,744,073,709,551,615 ul
float 32-bit Single-precision floating point type -3.402823e38 to 3.402823e38 f
double 64-bit double-precision floating point type -1.79769313486232e308 to
1.79769313486232e308
d
decimal 128-bit decimal type for financial and monetary calculations (+ or -)1.0 x 10e-28
to
7.9 x 10e28
m
char 16-bit single Unicode character Any valid character, e.g. a,*,
x0058 (hex), oru0058 (Unicode)
bool 8-bit logical true/false value True or False
object Base type of all other types.
string A sequence of Unicode characters
DateTime Represents date and time 0:00:00am 1/1/01
to
11:59:59pm 12/31/9999
Alias vs .NET Type
Andrii Hladky
trilobt@gmail.com 10
Alias .NET Type Type
byte System.Byte struct
sbyte System.SByte struct
int System.Int32 struct
uint System.UInt32 struct
short System.Int16 struct
ushort System.UInt16 struct
long System.Int64 struct
ulong System.UInt64 struct
float System.Single struct
double System.Double struct
char System.Char struct
bool System.Boolean struct
object System.Object Class
string System.String Class
decimal System.Decimal struct
DateTime System.DateTime struct
Основні типи значень
11
Тип Опис
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 Структура – тип даних, який може зберігати в собі змінні, методи,
конструктори, тобто володіє всі властивостями об’єкта, однак являється
типом значення.
Andrii Hladky
trilobt@gmail.com
Типи посилань
12
Змінна 1
Змінна 3
Змінна 2
Значення 1
Значення 2
Значення 3
Значення 4
Значення 5
Значення 6
Andrii Hladky
trilobt@gmail.com
Інші типи даних
Серед вище перерахованих типів даних в .Net Framework
передбачені такі типи як object i string.
Тип даних string (.Net Class: System.String) представляє
собою колекцію Unicode символів.
Клас String містить сукупність наступних
статичних методів:
• Compare – порівнює два рядки передані в якості
аргументів;
• CompareOrdinal -- порівнює два рядки передані в якості
аргументів з урахуванням регістру;
• Concat – повертає результат об’єднання масиву рядків;
• Copy – створює новий екземпляр рядка;
• Equals – порівнює значення двох рядків;
• IsNullOrEmpty -- визначає являється рядок пустим або
еквівалентним Null.
Andrii Hladky
trilobt@gmail.com 13
Нестандартні методи
• Clone – повертає посилання на новий екземпляр рядка;
• Contains – визначає чи містить поточний рядок вказане
в параметрах значення;
• CopyTo – копіює поточний рядок у вказаний масив
символів;
• EndsWith – визначає чи закінчується поточний рядок
вказаним значенням;
• Insert – вставляє під рядок у вказану позицію в поточний
рядок;
• Remove – видаляє з поточного рядка всі входження
вказаного під рядка;
• Replace – замінює вказаний під рядок новим під рядком;
• Split – ділить рядок на масив рядків, основуючись на
переданому масиві розділювачів(сепароторів);
Andrii Hladky
trilobt@gmail.com 14
• StartsWith – визначає чи починається поточний рядок з
вказаного під рядка;
• Substring – повертає вказаний під рядок поточного рядка;
• ToLower – переводить поточний рядок в нижній регістр;
• ToUpper – переводить рядок в верхній регістр;
• Trim – видаляє пробільні символи з обох боків;
• TrimEnd – видаляє пробіли в кінці рядка;
• TrimStart – видаляє пробіли на початку рядка
Andrii Hladky
trilobt@gmail.com 15
Тип object
 Тип даних object (.NET Class: System.Object)
являється базовим для всіх типів даних і має 5
методів:
• ToString ;
• GetType;
• Equals;
• ReferenceEquals;
• GetHashCode.
Andrii Hladky
trilobt@gmail.com 16
Операції над змінними
 Присвоєння (=)
 Арифметичні операції (+, -, *, /)
• Комбіновані (+=, -=, *=, /=)
 Логічні операції
Andrii Hladky
trilobt@gmail.com 17
Логічні операції
Операція Опис
|| Логічне “або”. Повертає true , якщо хоча б один із операндів
дорівнює true.
&& Логічне “і”. Повертає true лише тоді, коли всі операнди
дорівнюють true, інакше повертає false
== Операція порівняння на рівність. Порівнює дві змінні одного
типу і повертає true, якщо вони рівні.
!= Операція порівняння на нерівність. Порівнює дві змінні одного
типу і повертає true, якщо вони нерівні.
> Операція порівняння “більше”. Порівнює дві змінні одного типу і
повертає true, якщо ліва більша правої.
< Операція порівняння “менше”. Порівнює дві змінні одного типу і
повертає true, якщо ліва менша правої.
>= Операція порівняння “більше дорівнює”. Порівнює дві змінні
одного типу і повертає true, якщо ліва більша або рівна правій.
<= Операція порівняння “менше дорівнює”. Порівнює дві змінні
одного типу і повертає true, якщо ліва менша або рівна правій.
Andrii Hladky
trilobt@gmail.com 18
Приведення типів
 Автоматичне (не явне) приведення типів відбувається при
наступних умовах:
 два типи сумісні
 діапазон представлення чисел цільового типу більший, ніж у вихідного типу
 Явне приведення не сумісних типів
 Роль класу System.Convert()
Andrii Hladky
trilobt@gmail.com 19
(цільовий_тип) вираз
byte sum =
Convert.ToByte(var1 + var2)
Не явне приведення
Andrii Hladky
trilobt@gmail.com 20
Явне приведення
Andrii Hladky
trilobt@gmail.com 21
Клас System.Convert()
Andrii Hladky
trilobt@gmail.com 22
Overflow і underflow
 Ключові слова:
• checked
• unchecked
Andrii Hladky
trilobt@gmail.com 23
Літерали в C#
 Літерали – це фіксовані значення, які представленні
в зрозумілій формі. Всі літерали мають мати тип.
 Для явної специфікацій типу даних, літералу в С#
передбачені спеціальні суфікси:
 об’явлення з суфіксом “L” буде мати тип long;
 з суфіксом “F” буде мати тип float;
 з суфіксом “D” буде мати тип double;
 з суфіксом “M” буде мати тип decimal;
 суфікс “U” робить число без знаковим.
Andrii Hladky
trilobt@gmail.com 24
Літерали як керуючі символи
 Використовується для форматування тексту
Andrii Hladky
trilobt@gmail.com 25
Літерал Дія
a Звуковий сигнал
b Повернення на одну позицію
f Перехід на початок наступної сторінки
n Новий рядок
r Повернення каретки
t Горизонтальна табуляція
v Вертикальна табуляція
0 Нуль-символ (символ кінця рядка)
’ Одинарні лапки
” Подвійні лапки
 Зворотній слеш
Умовні оператори
 Виконують або одну або іншу дію, в залежності від
умови
 Види
• if-else
• switch
Andrii Hladky
trilobt@gmail.com 26
if-else
 Синтаксис
Andrii Hladky
trilobt@gmail.com 27
С# Сенс
if (умова)
{
[вираз 1]
}
else
{
[вираз 2]
}
якщо (умова)
{
умова істина
}
інакше
{
умова хибна
}
if-else
 Починається з if
 Умова в дужках
 Умова рівна true – виконуємо блок if
 Умова рівна false – виконуємо блок else
 Декілька дій заключають в {i}
Andrii Hladky
trilobt@gmail.com 28
switch
 Синтаксис:
Andrii Hladky
trilobt@gmail.com 29
С# Сенс
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
Andrii Hladky
trilobt@gmail.com 30
Цикли
 Використовуються для циклічного повторення
послідовності дій
 Види:
• for
• foreach
• while
Andrii Hladky
trilobt@gmail.com 31
Цикл for
Andrii Hladky
trilobt@gmail.com 32
 [операція 1] – 1 раз на початку
 [умова] – перевірка значення лічильника
 [тіло циклу] – виконується n-раз поки умова циклу
істина
 [операція 2] – після кожної ітерації циклу
 continue – для переривання і продовження
 break – для дострокового виходу з циклу
 Застерігайтесь зациклювання
for ([операція 1]; [умова]; [операція 2])
{
[тіло циклу]
}
Цикл foreach
 Цикл foreach служить для циклічного звернення до
елементів колекції, що представляє собою групу
об’єктів.
Andrii Hladky
trilobt@gmail.com 33
foreach (тип ім’я_змінної_цикла in колекція)
{
[тіло циклу]
}
Цикл while
 Виконується поки умова істина
 Виконається хоча б один раз
Andrii Hladky
trilobt@gmail.com 34
while (умова)
{
[вираз тіла циклу]
}
do
{
[вираз тіла циклу]
}
while (умова);
Класи і об’єкти
 ООП – основа .Net Framework
 Об’єкт екземпляр класу
 Весь функціонал програми – класи і об’єкти
 Клас:
• Методи
• Властивості
• Події
 Рівні видимості:
• public
• protected
• private
Andrii Hladky
trilobt@gmail.com 35
Простір імен
 Сукупність класів
 Зручні для групування
 Використовуйте using для підключення просторів
імен
 Основа – System
Andrii Hladky trilobt@gmail.com 36
Завдання
 Розробити консольний додаток:
◦ Запитати ім’я користувача і пароль (зберегти у відповідних
змінних)
◦ Для чотирьох місяців ввести прибуток компанії (місяць -
дохід)
◦ Посортувати рахунки по зростанню
◦ Ще раз запитати ім’я користувача і пароль
◦ Якщо введені дані вірні, вивести на консоль сортований
список доходів відповідно до місяця
◦ По завершенню вивести середнє значення доходу
Andrii Hladky
trilobt@gmail.com 37

More Related Content

Similar to Net Framework and c# Lesson 1

Similar to Net Framework and c# Lesson 1 (7)

Uml module 5
Uml module 5Uml module 5
Uml module 5
 
Uml module 5
Uml module 5Uml module 5
Uml module 5
 
Uml module 5
Uml module 5Uml module 5
Uml module 5
 
Uml module 5
Uml module 5Uml module 5
Uml module 5
 
1218562
12185621218562
1218562
 
L l13
L l13L l13
L l13
 
Функція plot() в R
Функція plot() в RФункція plot() в R
Функція plot() в R
 

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 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
 
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 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
 
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
 

Net Framework and c# Lesson 1

  • 1. .NET Framework & C# module 1. Огляд платформи Andrii Hladky trilobt@gmail.com 1
  • 2. В цьому уроці ви:  взнаєте про платформу .NET і мову C#;  познайомитесь з базовим синтаксисом мови;  взнаєте про змінні, типи і операції над ними;  взнаєте про приведення типів в C#;  взнаєте про літерали;  взнаєте про розгалуження і цикли;  отримаєте базові знання про об’єкти і класи;  створите най простішу програму 2 Andrii Hladky trilobt@gmail.com
  • 3. Архітектура .Net .Net Framework CLR BCL Мови програмування C# VB.NET 3 Andrii Hladky trilobt@gmail.com CTS CLS
  • 5. Базовий синтаксис  Вирази: • Визначення змінних • Операції присвоєння • Виклик функції • Закінчуються на ‘;’ • Об'єднуються за допомогою {i} • Коментарі: • Однорядкові - // • Багаторядкові - /* */ • Чутливі до регістру 5 Andrii Hladky trilobt@gmail.com
  • 6. Змінні  Змінна – логічна комірка  Змінна зберігає інформацію  Має визначений тип  Види: • Типи значень • Типи посилань 6 Andrii Hladky trilobt@gmail.com
  • 7. Типи значень  Структури • Числові типи • Символьні типи • Логічні типи • Користувацькі структури • Перерахування 7 Andrii Hladky trilobt@gmail.com
  • 8. Ієрархія типів в C# Andrii Hladky trilobt@gmail.com 8
  • 9. Типи значень Andrii Hladky trilobt@gmail.com 9 Type Description Range Suffix byte 8-bit unsigned integer 0 to 255 sbyte 8-bit signed integer -128 to 127 short 16-bit signed integer -32,768 to 32,767 ushort 16-bit unsigned integer 0 to 65,535 int 32-bit signed integer -2,147,483,648 to 2,147,483,647 uint 32-bit unsigned integer 0 to 4,294,967,295 u long 64-bit signed integer -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 l ulong 64-bit unsigned integer 0 to 18,446,744,073,709,551,615 ul float 32-bit Single-precision floating point type -3.402823e38 to 3.402823e38 f double 64-bit double-precision floating point type -1.79769313486232e308 to 1.79769313486232e308 d decimal 128-bit decimal type for financial and monetary calculations (+ or -)1.0 x 10e-28 to 7.9 x 10e28 m char 16-bit single Unicode character Any valid character, e.g. a,*, x0058 (hex), oru0058 (Unicode) bool 8-bit logical true/false value True or False object Base type of all other types. string A sequence of Unicode characters DateTime Represents date and time 0:00:00am 1/1/01 to 11:59:59pm 12/31/9999
  • 10. Alias vs .NET Type Andrii Hladky trilobt@gmail.com 10 Alias .NET Type Type byte System.Byte struct sbyte System.SByte struct int System.Int32 struct uint System.UInt32 struct short System.Int16 struct ushort System.UInt16 struct long System.Int64 struct ulong System.UInt64 struct float System.Single struct double System.Double struct char System.Char struct bool System.Boolean struct object System.Object Class string System.String Class decimal System.Decimal struct DateTime System.DateTime struct
  • 11. Основні типи значень 11 Тип Опис 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 Структура – тип даних, який може зберігати в собі змінні, методи, конструктори, тобто володіє всі властивостями об’єкта, однак являється типом значення. Andrii Hladky trilobt@gmail.com
  • 12. Типи посилань 12 Змінна 1 Змінна 3 Змінна 2 Значення 1 Значення 2 Значення 3 Значення 4 Значення 5 Значення 6 Andrii Hladky trilobt@gmail.com
  • 13. Інші типи даних Серед вище перерахованих типів даних в .Net Framework передбачені такі типи як object i string. Тип даних string (.Net Class: System.String) представляє собою колекцію Unicode символів. Клас String містить сукупність наступних статичних методів: • Compare – порівнює два рядки передані в якості аргументів; • CompareOrdinal -- порівнює два рядки передані в якості аргументів з урахуванням регістру; • Concat – повертає результат об’єднання масиву рядків; • Copy – створює новий екземпляр рядка; • Equals – порівнює значення двох рядків; • IsNullOrEmpty -- визначає являється рядок пустим або еквівалентним Null. Andrii Hladky trilobt@gmail.com 13
  • 14. Нестандартні методи • Clone – повертає посилання на новий екземпляр рядка; • Contains – визначає чи містить поточний рядок вказане в параметрах значення; • CopyTo – копіює поточний рядок у вказаний масив символів; • EndsWith – визначає чи закінчується поточний рядок вказаним значенням; • Insert – вставляє під рядок у вказану позицію в поточний рядок; • Remove – видаляє з поточного рядка всі входження вказаного під рядка; • Replace – замінює вказаний під рядок новим під рядком; • Split – ділить рядок на масив рядків, основуючись на переданому масиві розділювачів(сепароторів); Andrii Hladky trilobt@gmail.com 14
  • 15. • StartsWith – визначає чи починається поточний рядок з вказаного під рядка; • Substring – повертає вказаний під рядок поточного рядка; • ToLower – переводить поточний рядок в нижній регістр; • ToUpper – переводить рядок в верхній регістр; • Trim – видаляє пробільні символи з обох боків; • TrimEnd – видаляє пробіли в кінці рядка; • TrimStart – видаляє пробіли на початку рядка Andrii Hladky trilobt@gmail.com 15
  • 16. Тип object  Тип даних object (.NET Class: System.Object) являється базовим для всіх типів даних і має 5 методів: • ToString ; • GetType; • Equals; • ReferenceEquals; • GetHashCode. Andrii Hladky trilobt@gmail.com 16
  • 17. Операції над змінними  Присвоєння (=)  Арифметичні операції (+, -, *, /) • Комбіновані (+=, -=, *=, /=)  Логічні операції Andrii Hladky trilobt@gmail.com 17
  • 18. Логічні операції Операція Опис || Логічне “або”. Повертає true , якщо хоча б один із операндів дорівнює true. && Логічне “і”. Повертає true лише тоді, коли всі операнди дорівнюють true, інакше повертає false == Операція порівняння на рівність. Порівнює дві змінні одного типу і повертає true, якщо вони рівні. != Операція порівняння на нерівність. Порівнює дві змінні одного типу і повертає true, якщо вони нерівні. > Операція порівняння “більше”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша правої. < Операція порівняння “менше”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша правої. >= Операція порівняння “більше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша або рівна правій. <= Операція порівняння “менше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша або рівна правій. Andrii Hladky trilobt@gmail.com 18
  • 19. Приведення типів  Автоматичне (не явне) приведення типів відбувається при наступних умовах:  два типи сумісні  діапазон представлення чисел цільового типу більший, ніж у вихідного типу  Явне приведення не сумісних типів  Роль класу System.Convert() Andrii Hladky trilobt@gmail.com 19 (цільовий_тип) вираз byte sum = Convert.ToByte(var1 + var2)
  • 20. Не явне приведення Andrii Hladky trilobt@gmail.com 20
  • 23. Overflow і underflow  Ключові слова: • checked • unchecked Andrii Hladky trilobt@gmail.com 23
  • 24. Літерали в C#  Літерали – це фіксовані значення, які представленні в зрозумілій формі. Всі літерали мають мати тип.  Для явної специфікацій типу даних, літералу в С# передбачені спеціальні суфікси:  об’явлення з суфіксом “L” буде мати тип long;  з суфіксом “F” буде мати тип float;  з суфіксом “D” буде мати тип double;  з суфіксом “M” буде мати тип decimal;  суфікс “U” робить число без знаковим. Andrii Hladky trilobt@gmail.com 24
  • 25. Літерали як керуючі символи  Використовується для форматування тексту Andrii Hladky trilobt@gmail.com 25 Літерал Дія a Звуковий сигнал b Повернення на одну позицію f Перехід на початок наступної сторінки n Новий рядок r Повернення каретки t Горизонтальна табуляція v Вертикальна табуляція 0 Нуль-символ (символ кінця рядка) ’ Одинарні лапки ” Подвійні лапки Зворотній слеш
  • 26. Умовні оператори  Виконують або одну або іншу дію, в залежності від умови  Види • if-else • switch Andrii Hladky trilobt@gmail.com 26
  • 27. if-else  Синтаксис Andrii Hladky trilobt@gmail.com 27 С# Сенс if (умова) { [вираз 1] } else { [вираз 2] } якщо (умова) { умова істина } інакше { умова хибна }
  • 28. if-else  Починається з if  Умова в дужках  Умова рівна true – виконуємо блок if  Умова рівна false – виконуємо блок else  Декілька дій заключають в {i} Andrii Hladky trilobt@gmail.com 28
  • 29. switch  Синтаксис: Andrii Hladky trilobt@gmail.com 29 С# Сенс switch (умова) { case [варіант 1]: [вираз 1] break; case [варіант 2]: case [варіант 3]: [вираз 2] break; default: [вираз 3] break; } вибрати (умова) з { значення [варіант 1]: [вираз 1] стоп; значення [варіант 2]: значення [варіант 3]: [вираз 2] стоп; [нічого з попереднього]: [вираз 3] стоп; }
  • 30. switch  Починається з switch  Умова в дужках (і) – будь яка змінна  Варіанти починаються з case  Можна об’єднати варіанти  Після кожного варіанту – brake  Дія за замовчуванням – default Andrii Hladky trilobt@gmail.com 30
  • 31. Цикли  Використовуються для циклічного повторення послідовності дій  Види: • for • foreach • while Andrii Hladky trilobt@gmail.com 31
  • 32. Цикл for Andrii Hladky trilobt@gmail.com 32  [операція 1] – 1 раз на початку  [умова] – перевірка значення лічильника  [тіло циклу] – виконується n-раз поки умова циклу істина  [операція 2] – після кожної ітерації циклу  continue – для переривання і продовження  break – для дострокового виходу з циклу  Застерігайтесь зациклювання for ([операція 1]; [умова]; [операція 2]) { [тіло циклу] }
  • 33. Цикл foreach  Цикл foreach служить для циклічного звернення до елементів колекції, що представляє собою групу об’єктів. Andrii Hladky trilobt@gmail.com 33 foreach (тип ім’я_змінної_цикла in колекція) { [тіло циклу] }
  • 34. Цикл while  Виконується поки умова істина  Виконається хоча б один раз Andrii Hladky trilobt@gmail.com 34 while (умова) { [вираз тіла циклу] } do { [вираз тіла циклу] } while (умова);
  • 35. Класи і об’єкти  ООП – основа .Net Framework  Об’єкт екземпляр класу  Весь функціонал програми – класи і об’єкти  Клас: • Методи • Властивості • Події  Рівні видимості: • public • protected • private Andrii Hladky trilobt@gmail.com 35
  • 36. Простір імен  Сукупність класів  Зручні для групування  Використовуйте using для підключення просторів імен  Основа – System Andrii Hladky trilobt@gmail.com 36
  • 37. Завдання  Розробити консольний додаток: ◦ Запитати ім’я користувача і пароль (зберегти у відповідних змінних) ◦ Для чотирьох місяців ввести прибуток компанії (місяць - дохід) ◦ Посортувати рахунки по зростанню ◦ Ще раз запитати ім’я користувача і пароль ◦ Якщо введені дані вірні, вивести на консоль сортований список доходів відповідно до місяця ◦ По завершенню вивести середнє значення доходу Andrii Hladky trilobt@gmail.com 37