Функції та стандартні Бібліотеки
Функції
Функції - це невеликі блоки коду, які виконують певне завдання. Вони дозволяють розділити програму на більш маневрові частини та підвищують читабельність та повторне використання коду. Функції визначаються за допомогою ключового слова void (якщо вони не повертають значень) та імені функції.
// Ця функція не приймає аргументів і не повертає значення (void)
void SayHello()
{
Console.WriteLine("Привіт, світ!");
}// Виклик функції SayHello()
SayHello();Функції можуть приймати параметри - значення, які вони використовують при виконанні. Параметри вказуються у дужках при оголошенні функції.
// Функція, яка приймає два параметри
int Add(int a, int b)
{
int result = a + b;
return result;
}// Виклик функції Add і передача їй двох чисел
int sum = Add(5, 3);
Console.WriteLine("Сума: " + sum);Багато функцій повертають значення. Для цього використовується ключове слово return. Значення, яке функція повертає, можна використовувати в інших частинах програми.
// Функція, яка повертає суму двох чисел
int Add(int a, int b)
{
int result = a + b;
return result;
}int sum = Add(5, 3);
Console.WriteLine("Сума: " + sum);namespace csharptest;
class Program
{
public static void Hello(string name){
Console.WriteLine($"Hello, {name}!");
}
public static int Add(int a, int b){
return a + b;
}
static void Main(string[] args)
{
Hello("World");
Console.WriteLine(Add(3, 5));
}
}Структура C# проєкту
Тепер давайте розглянемо структуру проєкту C# в dotnet.
Структура проєкту C# в dotnet зазвичай виглядає так:
MyProject/
├── MyProject.csproj // Файл проєкту, де описані всі налаштування та залежності
├── Program.cs // Головний файл програми, який містить точку входу (метод Main)
├── bin/ // Каталог для збірок (скомпільованих файлів)
└── obj/ // Каталог для тимчасових об'єктів компіляціїMyProject.csproj: Цей файл містить інформацію про ваш проєкт, включаючи встановлені пакети та налаштування компіляції.
Program.cs: Це основний файл програми, де розміщений метод Main, який виконується при запуску програми.
bin/ та obj/: Каталоги, де зберігаються файли, пов'язані з компіляцією та виконанням програми.
Ця структура є загальною для більшості проєктів C# в dotnet, і вона може бути розширена залежно від потреб вашого проєкту.
Конфігурація у файлі "MyProject.csproj" визначає налаштування та параметри вашого проєкту в форматі XML. Ось приклад конфігурації:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType> <!-- Тип виводу проєкту (Exe для виконуваного файлу) -->
<TargetFramework>net7.0</TargetFramework> <!-- Цільова версія .NET Framework -->
<ImplicitUsings>disable</ImplicitUsings> <!-- Вимкнення автоматичних підключень просторів імен -->
<Nullable>enable</Nullable> <!-- Увімкнення підтримки Nullable Reference Types -->
</PropertyGroup>
</Project>Основні поняття в цьому фрагменті конфігурації:
<Project Sdk="Microsoft.NET.Sdk">: Ця стрічка вказує, що цей проєкт використовує SDK (набір інструментів) Microsoft.NET.Sdk для розробки програм на .NET.<PropertyGroup>: Всі налаштування проєкту розміщуються всередині цього елемента.<OutputType>: Визначає тип виводу проєкту. У цьому випадку він встановлений на "Exe", що вказує на створення виконуваного файлу.<TargetFramework>: Ця стрічка визначає цільову версію .NET Framework, на якій буде працювати ваша програма. У даному випадку використовується версія "net7.0".<ImplicitUsings>: Цей параметр вказує, чи потрібно включати автоматичні підключення (implicit usings) просторів імен у вашому коді. У даному випадку він встановлений на "disable", тобто автоматичні підключення вимкнені.<Nullable>: Вказує, чи увімкнута підтримка Nullable Reference Types в вашому проєкті. У даному випадку вона ввімкнена (установлено на "enable"), що дозволяє використовувати Nullable типи даних для кращого керування значеннями, які можуть бути null.
Зміна параметра <ImplicitUsings> з "enable" на "disable":
Зміна параметра <ImplicitUsings> з "enable" на "disable" вплине на автоматичні підключення просторів імен (implicit usings) у вашому C# проєкті. Давайте розглянемо, як ця зміна впливає на ваш проєкт і як адаптувати його до цього.
По замовчуванню (ImplicitUsings = enable): Коли параметр
<ImplicitUsings>встановлено на "enable", компілятор C# автоматично додає деякі загальні простори імен (namespace) до вашого коду. Наприклад, простір іменSystemбуде автоматично підключено, і вам не потрібно вручну додавати директивуusing System;у своєму коді для використання класів та функцій з цього простору імен.З параметром ImplicitUsings = disable: Коли ви змінюєте параметр на "disable", компілятор більше не автоматично додає простори імен. Ви повинні вручну вказувати всі необхідні директиви
usingу вашому коді, щоб використовувати класи та функції з конкретних просторів імен. Це може зробити ваш код більш експліцитним та зрозумілим, але ви зобов'язані вручну додавати директивиusingдля всіх просторів імен, які ви хочете використовувати.
Як адаптувати проєкт до параметра <ImplicitUsings> зі значенням "disable":
Видаліть непотрібні автоматичні підключення: Перегляньте свій існуючий код та видаліть всі директиви
using, які більше не потрібні через вимкнення автоматичних підключень.Додайте директиви
usingвручну: Для кожного простору імен, який вам потрібно використовувати у вашому коді, додайте відповідну директивуusingна початку файлу. Наприклад:using System; using System.Collections.Generic;Перевірте і виправте помилки компіляції: Після ручного додавання директив
using, перевірте ваш код на наявність помилок компіляції. Компілятор повинен попередити вас про будь-які відсутні простори імен або інші проблеми, які можуть виникнути через цю зміну.
Ця зміна дозволить вам краще контролювати, які простори імен використовуються у вашому проєкті та уникнути конфліктів імен.
Стандартні класи та бібліотеки в C#
У C# існують багато стандартних класів і бібліотек, які розширюють можливості мови та допомагають вам вирішувати різні завдання. Ось кілька основних бібліотек та класів, які вам знадобляться.
Стандартні класи та бібліотеки в C#
У C# існують багато стандартних класів і бібліотек, які розширюють можливості мови та допомагають вам вирішувати різні завдання. Ось кілька основних бібліотек та класів, які вам знадобляться:
System.Console - це клас, який надає можливість взаємодіяти з консоллю, виводити дані на екран та читати введені користувачем дані.
Console.WriteLine("Привіт, світ!"); // Вивести рядок на консольstring name = Console.ReadLine(); // Зчитати рядок з консоліSystem.Math - це клас, який містить різні математичні функції та константи, такі як PI та Sqrt.
double radius = 5.0;
double area = Math.PI * Math.Pow(radius, 2); // Обчислити площу кругаSystem.Random - це клас, який допомагає генерувати випадкові числа.
Random random = new Random();
int randomNumber = random.Next(1, 101); // Генерувати випадкове число від 1 до 100System.IO - це простір імен, який містить класи та методи для роботи з файлами та папками.
using System.IO;
string path = "myFile.txt";
string content = File.ReadAllText(path); // Прочитати вміст файлуSystem.Collections - це простір імен, який містить різні структури даних, такі як списки (List), словники (Dictionary) та інші.
using System.Collections.Generic;
List<string> names = new List<string>();
names.Add("Анна");
names.Add("Віктор");
string firstPerson = names[0]; // Отримати першу особу зі спискуbuild info
- compiler
- 2.0.5.1 · 4054EF9BF6C4510A
- built
- 2026-11-08 14:31:25 UTC
WebUniverse