C Sharp
C# або C Sharp — це сучасна об’єктно-орієнтована, strongly typed і мультипарадигмальна мова програмування, яка найчастіше використовується разом із платформою .NET.
C# застосовують для backend-розробки, Web API, enterprise-систем, desktop-застосунків, cloud-сервісів, мобільних застосунків, ігор, інтеграцій, автоматизації, мікросервісів, роботи з базами даних і бізнес-логіки.
Коротко: C# — це мова для побудови надійних програм на .NET. Вона поєднує строгі типи, сучасний синтаксис, сильний tooling, високу продуктивність і зручність для enterprise-розробки.
Офіційна документація Microsoft описує C# language reference як джерело з синтаксису, idioms і специфікації мови для .NET-розробників. [1]
Головна ідея
Головна ідея C# — дати розробнику безпечну, продуктивну й виразну мову для великих програмних систем.
C# добре підходить для задач, де важливі:
- типізація;
- підтримуваність;
- інструменти розробки;
- тестування;
- продуктивність;
- асинхронність;
- робота з API;
- інтеграції;
- enterprise-архітектура;
- довгострокова підтримка;
- cloud deployment;
- робота з базами даних.
Проста аналогія: C# — це як добре організована майстерня: є правила, типи, інструменти, пакети, тестування й стандарти. Це трохи дисциплінує, зате допомагає будувати великі системи без хаосу.
C# і .NET
C# — це мова.
.NET — це платформа, на якій ця мова найчастіше працює.
До .NET входять:
- runtime;
- standard libraries;
- SDK;
- compiler;
- CLI;
- package ecosystem;
- ASP.NET Core;
- Entity Framework Core;
- MAUI;
- Blazor;
- tooling;
- deployment tools.
Офіційна документація .NET пояснює, що .NET дозволяє створювати застосунки на різних платформах з використанням C#, F# і Visual Basic. [2]
Актуальні версії
Станом на сучасну лінійку .NET, важливими є:
- .NET 10 — LTS-реліз;
- C# 14 — мова, пов’язана з .NET 10 SDK;
- ASP.NET Core 10 — актуальна лінійка ASP.NET Core для .NET 10.
Microsoft оголосила .NET 10 як Long Term Support release із підтримкою на три роки, до 10 листопада 2028 року. [3]
Документація C# 14 зазначає, що нові можливості C# 14 можна використовувати з .NET 10 SDK. [4]
Для документації: у статтях краще писати не просто “сучасний C#”, а конкретно: C# 14 / .NET 10 або іншу версію, яку реально використовує проєкт.
.NET Framework і сучасний .NET
Історично C# часто асоціювався з .NET Framework.
Але сучасна розробка зазвичай використовує .NET без слова Framework:
- .NET 6;
- .NET 7;
- .NET 8;
- .NET 9;
- .NET 10.
Різниця:
| Платформа | Ідея |
|---|---|
| .NET Framework | стара Windows-only платформа |
| .NET Core | кросплатформений перехідний етап |
| .NET | сучасна єдина платформа для Windows, Linux, macOS, cloud і container deployment |
Для нових проєктів зазвичай варто обирати сучасний .NET, якщо немає спеціальної причини залишатися на .NET Framework.
Сильна типізація
C# — strongly typed language.
Це означає, що типи змінних, параметрів, полів і результатів мають значення.
Приклад:
int count = 10; string name = "K2 ERP"; bool isActive = true;
Переваги типізації:
- помилки видно раніше;
- IDE краще підказує код;
- легше робити refactoring;
- легше підтримувати великий код;
- менше випадкових runtime-помилок;
- простіше читати API.
Об’єктно-орієнтоване програмування
C# підтримує object-oriented programming.
Основні поняття:
- class;
- object;
- inheritance;
- interface;
- encapsulation;
- polymorphism;
- abstraction.
Приклад класу:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; } = "";
}
OOP корисне для моделювання бізнес-сутностей, сервісів, правил і доменної логіки.
Класи
Class — опис типу об’єкта.
Приклад:
public class Order
{
public int Id { get; set; }
public DateTime Date { get; set; }
public decimal TotalAmount { get; set; }
}
Клас може містити:
- properties;
- fields;
- methods;
- constructors;
- events;
- nested types.
У бізнес-системах класи часто представляють документи, клієнтів, товари, рахунки, сервіси або правила.
Інтерфейси
Interface описує контракт.
Приклад:
public interface IReportService
{
Task<byte[]> GenerateReportAsync(int reportId);
}
Інтерфейси корисні для:
- dependency injection;
- testing;
- mock objects;
- loose coupling;
- clean architecture;
- заміни реалізацій;
- plugin-like design.
Практична думка: інтерфейс — це обіцянка. Код каже: “мені не важливо, хто саме це зробить; мені важливо, щоб він умів виконати цей контракт”.
Generics
Generics дозволяють писати код, який працює з різними типами без втрати type safety.
Приклад:
public class Repository<T>
{
public List<T> Items { get; } = new();
public void Add(T item)
{
Items.Add(item);
}
}
Generics використовуються в:
- List<T>;
- Dictionary<TKey, TValue>;
- Task<T>;
- IEnumerable<T>;
- Repository<T>;
- Result<T>;
- Nullable<T>.
Generics — одна з причин, чому C# добре підходить для великих typed систем.
Properties
Property — зручний спосіб описати дані об’єкта.
Приклад:
public string Name { get; set; } = "";
public decimal Price { get; init; }
Properties можуть бути:
- read/write;
- read-only;
- init-only;
- computed;
- private set;
- required.
C# 14 додає field-backed properties, що спрощують доступ до backing field через ключове слово field. [5]
Records
Record — тип, зручний для immutable data і value-like моделей.
Приклад:
public record ProductDto(int Id, string Name, decimal Price);
Records корисні для:
- DTO;
- API responses;
- commands;
- events;
- value objects;
- immutable structures;
- message contracts.
Records зменшують boilerplate-код і роблять моделі даних компактнішими.
Nullable reference types
Nullable reference types допомагають зменшити кількість NullReferenceException.
Приклад:
public string Name { get; set; } = "";
public string? Description { get; set; }
Тут:
string— не має бути null;string?— може бути null.
Практична користь: nullable reference types змушують явно думати, де значення може бути відсутнім. Для бізнес-систем це дуже важливо.
Pattern matching
Pattern matching дозволяє зручно перевіряти форму й тип даних.
Приклад:
string GetStatusText(OrderStatus status) => status switch
{
OrderStatus.New => "Нове замовлення",
OrderStatus.Paid => "Оплачено",
OrderStatus.Cancelled => "Скасовано",
_ => "Невідомо"
};
Pattern matching корисний для:
- switch expressions;
- type checks;
- nullable logic;
- discriminated-like scenarios;
- обробки різних станів;
- clean domain logic.
LINQ
LINQ — Language Integrated Query.
Це одна з найсильніших можливостей C#.
LINQ дозволяє писати запити до колекцій, баз даних, XML або інших джерел у вигляді C#-коду.
Приклад:
var expensiveProducts = products
.Where(p => p.Price > 1000)
.OrderBy(p => p.Name)
.Select(p => p.Name)
.ToList();
LINQ корисний для:
- фільтрації;
- сортування;
- групування;
- проєкції;
- агрегації;
- роботи з IEnumerable;
- Entity Framework Core queries.
async/await
async/await — механізм асинхронного програмування.
Приклад:
public async Task<Customer?> GetCustomerAsync(int id)
{
return await db.Customers.FindAsync(id);
}
async/await потрібен для:
- Web API;
- database calls;
- HTTP requests;
- file operations;
- cloud services;
- message queues;
- background jobs.
Асинхронність допомагає не блокувати threads під час очікування I/O.
Task і ValueTask
Task представляє асинхронну операцію.
Приклад:
Task<int> CalculateAsync(); Task SaveAsync();
ValueTask може бути корисним у performance-sensitive сценаріях, але його не варто використовувати всюди без потреби.
Для більшості бізнес-коду Task достатній і зрозуміліший.
Exception handling
C# використовує exceptions для обробки помилок.
Приклад:
try
{
await service.ProcessAsync(orderId);
}
catch (OrderNotFoundException ex)
{
logger.LogWarning(ex, "Order not found");
}
Добра практика:
- не ловити всі exceptions без потреби;
- логувати важливі помилки;
- не приховувати критичні проблеми;
- створювати domain-specific exceptions;
- не використовувати exceptions для нормального control flow.
Dependency Injection
Dependency Injection — підхід, де залежності передаються ззовні, а не створюються всередині класу.
ASP.NET Core має вбудований DI container.
Приклад:
builder.Services.AddScoped<IOrderService, OrderService>();
DI корисний для:
- тестування;
- clean architecture;
- заміни реалізацій;
- конфігурації;
- слабкого зв’язування компонентів.
ASP.NET Core
ASP.NET Core — framework для вебзастосунків і API на .NET.
Він використовується для:
- Web API;
- MVC;
- Razor Pages;
- Blazor;
- microservices;
- cloud apps;
- REST API;
- backend services.
Офіційна документація ASP.NET Core описує його як framework для fast, secure, cross-platform and cloud-based web apps and services. [6]
Web API
C# і ASP.NET Core часто використовуються для створення Web API.
Приклад minimal API:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/api/health", () => Results.Ok(new { status = "ok" }));
app.Run();
Web API потрібні для:
- frontend застосунків;
- mobile apps;
- integrations;
- ERP API;
- microservices;
- external partners;
- automation;
- AI tools.
Minimal APIs
Minimal APIs — компактний спосіб створювати HTTP endpoints.
Вони корисні для:
- маленьких сервісів;
- prototypes;
- microservices;
- internal APIs;
- lightweight endpoints.
Для великих систем можна використовувати controllers, clean architecture і окремі application services.
Controllers
Controllers — класичний підхід ASP.NET Core Web API.
Приклад:
[ApiController]
[Route("api/orders")]
public class OrdersController : ControllerBase
{
[HttpGet("{id}")]
public async Task<ActionResult<OrderDto>> GetById(int id)
{
...
}
}
Controllers зручні для складніших API з routing, filters, attributes, validation і versioning.
Entity Framework Core
Entity Framework Core або EF Core — ORM для .NET.
EF Core дозволяє працювати з базою даних через C#-об’єкти.
Приклад:
var orders = await db.Orders
.Where(o => o.CustomerId == customerId)
.ToListAsync();
EF Core корисний для:
- CRUD;
- migrations;
- LINQ queries;
- relational databases;
- PostgreSQL;
- SQL Server;
- MySQL;
- SQLite.
Але для складних звітів іноді краще писати SQL або використовувати спеціалізований reporting layer.
Blazor
Blazor — framework для створення web UI на C#.
Blazor дозволяє писати frontend-компоненти без JavaScript як основної мови.
Варіанти:
- Blazor Server;
- Blazor WebAssembly;
- Blazor Web App.
Blazor корисний для internal tools, dashboards, admin panels і enterprise UI.
У .NET 10 для ASP.NET Core є оновлення Blazor, зокрема зміни навколо Blazor script як static web asset. [7]
MAUI
.NET MAUI — framework для cross-platform застосунків.
Він дозволяє створювати застосунки для:
- Android;
- iOS;
- macOS;
- Windows.
MAUI підходить для мобільних і desktop-застосунків, але вибір MAUI варто робити з урахуванням команди, UX-вимог і підтримки платформ.
Desktop development
C# використовується для desktop-застосунків.
Технології:
- WPF;
- WinForms;
- MAUI;
- Avalonia;
- WinUI.
Desktop C# корисний для:
- internal enterprise tools;
- касових систем;
- промислового ПЗ;
- Windows-застосунків;
- адмін-панелей;
- локальних інтеграцій.
Cloud development
C# добре підходить для cloud.
Сценарії:
- Azure Functions;
- AWS Lambda for .NET;
- containerized services;
- Kubernetes;
- microservices;
- background workers;
- queues;
- message brokers;
- cloud APIs;
- serverless.
C# часто обирають для enterprise cloud через strong typing, tooling і стабільну екосистему .NET.
Background services
C# з .NET добре підходить для background jobs.
Приклади:
- обробка черг;
- scheduled tasks;
- імпорт/експорт;
- інтеграції;
- email sending;
- report generation;
- file processing;
- data synchronization.
У .NET для цього часто використовують Worker Service, hosted services або зовнішні orchestrators.
NuGet
NuGet — package manager для .NET.
Через NuGet встановлюють бібліотеки:
dotnet add package Newtonsoft.Json dotnet add package Microsoft.EntityFrameworkCore dotnet add package xunit
NuGet корисний, але потрібно перевіряти:
- ліцензії;
- maintenance;
- security vulnerabilities;
- кількість залежностей;
- сумісність із .NET version;
- репутацію пакета.
dotnet CLI
dotnet CLI — командний інтерфейс .NET.
Приклади:
dotnet new webapi dotnet build dotnet test dotnet run dotnet publish
CLI потрібен для:
- local development;
- CI/CD;
- build scripts;
- tests;
- publishing;
- containers;
- automation.
Visual Studio
Visual Studio — головна IDE Microsoft для .NET і C#.
Переваги:
- потужний debugger;
- designer tools;
- profiling;
- refactoring;
- test runner;
- project templates;
- Azure integration;
- Windows desktop tooling.
Visual Studio особливо сильна для Windows, enterprise і desktop development.
Visual Studio Code
Visual Studio Code — легкий редактор із розширеннями для C#.
Для C# використовують:
- C# Dev Kit;
- C# extension;
- .NET SDK;
- debugger;
- test explorer;
- terminal.
VS Code зручний для cross-platform development, web API, cloud і lightweight workflow.
Rider
JetBrains Rider — популярна кросплатформена IDE для .NET.
Rider часто обирають за:
- сильний refactoring;
- code analysis;
- навігацію;
- тестування;
- підтримку Unity;
- кросплатформеність;
- інтеграцію з JetBrains ecosystem.
Тестування в C#
C# має сильну екосистему тестування.
Популярні frameworks:
- xUnit;
- NUnit;
- MSTest;
- FluentAssertions;
- Moq;
- NSubstitute;
- Verify;
- Shouldly.
Приклад xUnit:
public class CalculatorTests
{
[Fact]
public void Add_ReturnsSum()
{
var result = Calculator.Add(2, 3);
Assert.Equal(5, result);
}
}
Unit tests
Unit tests перевіряють маленькі частини логіки.
Корисні для:
- domain logic;
- services;
- validators;
- calculations;
- parsers;
- mapping;
- edge cases.
Unit tests мають бути швидкими й стабільними.
Integration tests
Integration tests перевіряють взаємодію компонентів.
Наприклад:
- API + database;
- service + external API mock;
- background job + queue;
- EF Core + PostgreSQL;
- authentication + authorization.
Integration tests повільніші, але краще ловлять проблеми реальної системи.
Architecture
C# часто використовують у великих архітектурах.
Підходи:
- layered architecture;
- clean architecture;
- hexagonal architecture;
- domain-driven design;
- CQRS;
- microservices;
- modular monolith;
- event-driven architecture.
Практична думка: для enterprise-проєктів C# сильний не тільки мовою, а й дисципліною: solution structure, DI, interfaces, tests, NuGet, analyzers, CI/CD.
Clean Architecture
Clean Architecture розділяє код на шари:
- Domain;
- Application;
- Infrastructure;
- Presentation.
Ідея: бізнес-логіка не повинна залежати від бази даних, UI або зовнішніх API.
Це корисно для:
- тестування;
- заміни інфраструктури;
- підтримки;
- довгострокових систем;
- enterprise development.
Domain-Driven Design
DDD — Domain-Driven Design.
DDD корисний, коли бізнес-логіка складна.
Поняття:
- Entity;
- Value Object;
- Aggregate;
- Repository;
- Domain Service;
- Domain Event;
- Bounded Context.
C# добре підходить для DDD завдяки типам, records, pattern matching, interfaces і tooling.
Продуктивність
C# і .NET мають добру продуктивність для backend і enterprise-систем.
На продуктивність впливають:
- allocations;
- async usage;
- database queries;
- caching;
- serialization;
- logging;
- LINQ usage;
- pooling;
- memory pressure;
- GC;
- network calls.
.NET 10 включає performance improvements у runtime, libraries і workloads. [8]
Memory management
C# використовує garbage collector.
Це спрощує роботу з пам’яттю, але не означає, що memory можна ігнорувати.
Потрібно контролювати:
- великі об’єкти;
- collections;
- streams;
- IDisposable;
- async resources;
- memory leaks через events;
- caching;
- allocations у hot paths.
IDisposable
IDisposable використовується для ресурсів, які треба явно звільнити.
Приклад:
using var stream = File.OpenRead(path);
Або:
await using var db = new AppDbContext(options);
IDisposable важливий для:
- files;
- streams;
- database connections;
- sockets;
- unmanaged resources.
Security
C# і ASP.NET Core мають багато засобів безпеки, але безпека залежить від архітектури й коду.
Потрібно контролювати:
- authentication;
- authorization;
- input validation;
- output encoding;
- SQL injection;
- CSRF;
- XSS;
- secrets;
- logging;
- HTTPS;
- package vulnerabilities;
- dependency updates;
- secure configuration.
Важливо: типізація C# не захищає автоматично від поганої авторизації, витоку секретів, небезпечних залежностей або неправильних SQL-запитів.
Authentication і Authorization
Authentication — хто користувач.
Authorization — що йому дозволено.
В ASP.NET Core можна використовувати:
- cookies;
- JWT;
- OAuth;
- OpenID Connect;
- Identity;
- policies;
- roles;
- claims.
Для enterprise-систем права доступу часто складніші за просту роль “admin/user”.
Configuration і Secrets
C#/.NET застосунки часто мають конфігурацію:
- appsettings.json;
- environment variables;
- user secrets;
- Azure Key Vault;
- AWS Secrets Manager;
- Kubernetes secrets;
- command-line arguments.
Не можна зберігати паролі, tokens і connection strings у Git.
Logging
.NET має вбудовану logging abstraction.
Приклад:
logger.LogInformation("Order {OrderId} processed", orderId);
Добре логувати:
- важливі бізнес-події;
- помилки;
- correlation IDs;
- latency;
- external API calls;
- background jobs;
- security events.
Не варто логувати:
- паролі;
- tokens;
- персональні дані без потреби;
- повні request bodies із чутливими даними.
Observability
Observability включає:
- logs;
- metrics;
- traces;
- health checks;
- dashboards;
- alerts.
Для ASP.NET Core можна використовувати:
- OpenTelemetry;
- Application Insights;
- Prometheus;
- Grafana;
- Serilog;
- Seq;
- Elastic Stack.
Без observability production-система стає “чорною скринькою”.
C# і AI
C# можна використовувати для AI-застосунків.
Сценарії:
- виклик LLM API;
- RAG backend;
- AI agents;
- document processing;
- embeddings;
- speech-to-text;
- text-to-speech;
- integration with Azure AI;
- ML.NET;
- OpenAI-compatible APIs;
- enterprise AI middleware.
.NET documentation має окремий напрям “Build AI apps in .NET”. [9]
ML.NET
ML.NET — machine learning framework для .NET.
Він корисний для:
- classification;
- regression;
- recommendation;
- anomaly detection;
- forecasting;
- text classification;
- integration into .NET apps.
Для deep learning або LLM часто використовують зовнішні моделі/API, але ML.NET може бути зручним для класичного ML у .NET-проєктах.
C# і Python
C# і Python часто використовуються в різних ролях.
| Мова | Сильні сторони |
|---|---|
| C# | enterprise backend, .NET, типізація, Web API, desktop, cloud, tooling |
| Python | data science, scripting, AI research, automation, ML libraries |
У реальних системах Python може тренувати модель, а C# — викликати її через API в production.
C# і Java
C# і Java мають схожі enterprise-сфери.
C# сильний у:
- .NET ecosystem;
- ASP.NET Core;
- Visual Studio tooling;
- Windows integration;
- Azure;
- сучасний синтаксис;
- LINQ;
- records;
- async/await.
Java сильна в:
- JVM ecosystem;
- Spring;
- cross-platform enterprise;
- великий open-source ринок;
- long-running enterprise deployments.
Вибір залежить від команди, інфраструктури й екосистеми.
C# і JavaScript / TypeScript
C# часто використовується на backend.
JavaScript або TypeScript — на frontend.
Типова архітектура:
- C# ASP.NET Core API;
- TypeScript frontend;
- PostgreSQL або SQL Server;
- Redis cache;
- background workers;
- message queue.
Blazor дозволяє писати frontend на C#, але TypeScript залишається дуже популярним для web UI.
C# у бізнесі
C# добре підходить для бізнес-систем:
- ERP;
- CRM;
- документообіг;
- фінансові сервіси;
- звітність;
- інтеграції;
- API;
- workflow;
- internal tools;
- identity systems;
- reporting;
- background processing.
Причини:
- strong typing;
- стабільна екосистема;
- ASP.NET Core;
- EF Core;
- tooling;
- тестування;
- продуктивність;
- довгострокова підтримка;
- Microsoft ecosystem.
C# і ERP-системи
C# може використовуватися в ERP-екосистемах як мова для:
- backend-сервісів;
- інтеграцій;
- API gateway;
- звітних сервісів;
- обробки черг;
- імпорту/експорту;
- desktop clients;
- middleware;
- синхронізації даних.
У контексті K2 ERP C# може бути корисним для зовнішніх сервісів або інтеграцій, якщо проєкт використовує .NET-інфраструктуру.
Наприклад:
- сервіс обміну даними;
- REST API wrapper;
- генератор звітів;
- Windows desktop utility;
- background worker;
- інтеграція з Microsoft ecosystem;
- шлюз до зовнішніх систем.
Але вибір C# має бути виправданий архітектурою. Якщо основний стек K2 ERP побудований на Python, C# варто використовувати там, де він справді дає перевагу.
Коли C# особливо корисний
C# особливо корисний для:
- Web API;
- enterprise backend;
- ASP.NET Core;
- cloud services;
- desktop apps;
- background workers;
- strongly typed domain logic;
- integrations;
- Microsoft ecosystem;
- Azure;
- internal business systems;
- microservices;
- reporting services;
- тестованої бізнес-логіки.
Коли C# може бути невдалим вибором
C# може бути невдалим вибором, якщо:
- потрібен дуже маленький script;
- команда не знає .NET;
- вся екосистема вже на іншому стеку;
- задача простіше вирішується SQL або Bash;
- потрібна ML research екосистема Python;
- проєкт повністю frontend-only;
- немає потреби в strongly typed backend;
- середовище не підтримує .NET deployment.
Типові помилки в C#
Поширені помилки:
- ігнорувати nullable warnings;
- блокувати async-код через
.Resultабо.Wait(); - робити великі God classes;
- змішувати бізнес-логіку з controllers;
- не писати тести;
- неправильно використовувати dependency injection;
- логувати секрети;
- не закривати IDisposable resources;
- створювати N+1 queries в EF Core;
- не використовувати cancellation tokens;
- робити надто складну архітектуру для простої задачі;
- не оновлювати NuGet packages;
- не перевіряти supported .NET versions.
Хороші практики
Під час роботи з C# варто:
- Використовувати сучасний .NET LTS для production.
- Увімкнути nullable reference types.
- Писати async-код без blocking.
- Виносити бізнес-логіку з controllers.
- Використовувати dependency injection.
- Писати unit та integration tests.
- Логувати структуровано.
- Не зберігати secrets у коді.
- Контролювати NuGet dependencies.
- Використовувати analyzers і formatting.
- Перевіряти EF Core queries.
- Додавати cancellation tokens.
- Документувати public API.
- Мати CI/CD.
- Стежити за .NET support lifecycle.
Практичний висновок
C# — одна з найсильніших мов для enterprise-розробки, backend, Web API, desktop, cloud і довгострокових бізнес-систем.
Сильні сторони:
- strong typing;
- .NET ecosystem;
- ASP.NET Core;
- LINQ;
- async/await;
- records;
- pattern matching;
- nullable reference types;
- generics;
- tooling;
- NuGet;
- тестування;
- продуктивність;
- cloud readiness;
- enterprise architecture.
Обмеження:
- не найкращий вибір для коротких одноразових scripts;
- AI research ecosystem сильніший у Python;
- потрібне розуміння .NET;
- enterprise-архітектура може бути надмірною для малих задач;
- потрібно стежити за версіями .NET і NuGet;
- без tests і architecture C# теж може перетворитися на хаос.
C# найкраще використовувати там, де потрібні надійність, типізація, підтримуваність, API, інтеграції, бізнес-логіка й сильний tooling.
Пояснення термінів
- C# — мова програмування C Sharp.
- .NET — платформа для запуску застосунків на C#, F# і Visual Basic.
- .NET Framework — стара Windows-only платформа.
- ASP.NET Core — framework для web apps і API.
- Blazor — framework для web UI на C#.
- MAUI — cross-platform UI framework для mobile і desktop.
- CLR — Common Language Runtime, runtime середовище .NET.
- SDK — набір інструментів для розробки.
- Strong typing — строга типізація.
- Class — клас, опис типу об’єкта.
- Interface — контракт для реалізацій.
- Generics — типізовані шаблони коду.
- LINQ — Language Integrated Query.
- async/await — механізм асинхронного програмування.
- Task — асинхронна операція.
- Record — тип для immutable або value-like даних.
- Nullable reference types — механізм контролю null у reference types.
- Pattern matching — зіставлення з шаблонами.
- Dependency Injection — передача залежностей ззовні.
- Entity Framework Core — ORM для .NET.
- NuGet — package manager для .NET.
- dotnet CLI — командний інтерфейс .NET.
- Unit test — тест маленької частини коду.
- Integration test — тест взаємодії компонентів.
- Clean Architecture — архітектурний підхід із розділенням шарів.
- DDD — Domain-Driven Design.
- IDisposable — інтерфейс для звільнення ресурсів.
- LTS — Long Term Support.
- Web API — HTTP API для взаємодії систем.
Дивіться також
- Розробка в K2 ERP
- Тестування коду
- API K2 ERP
- Інтеграції K2 ERP
- Звітність K2 ERP
- Python
- PyTorch
- Keras
- MLflow
- LangChain
- GitHub Copilot
- Cursor
- Tabnine
- Deep Learning
- Великі мовні моделі
- GPT
- Claude Models
- Штучний інтелект
- Генеративний AI
Джерела
- Microsoft Learn — C# Guide
- Microsoft Learn — C# language reference
- Microsoft Learn — What's new in C# 14
- Microsoft Learn — .NET documentation
- Microsoft Learn — What's new in .NET 10
- Microsoft .NET Blog — Announcing .NET 10
- Microsoft — .NET support policy
- Microsoft Learn — ASP.NET Core documentation
- Microsoft Learn — What's new in ASP.NET Core in .NET 10
- Microsoft Learn — C# language versioning
- MediaWiki — Help:Formatting
- MediaWiki — Help:Links
- ↑ https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/
- ↑ https://learn.microsoft.com/en-us/dotnet/
- ↑ https://devblogs.microsoft.com/dotnet/announcing-dotnet-10/
- ↑ https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-14
- ↑ https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-14
- ↑ https://learn.microsoft.com/en-us/aspnet/core/?view=aspnetcore-10.0
- ↑ https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-10.0?view=aspnetcore-10.0
- ↑ https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview
- ↑ https://learn.microsoft.com/en-us/dotnet/