Стандартная библиотека C# (.NET): полный обзор возможностей

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Стандартная библиотека C# (.NET): полный обзор

Стандартная библиотека .NET (Base Class Library, BCL) — это фундаментальный набор классов, интерфейсов и типов значений, входящий в состав платформы .NET. Она предоставляет разработчикам на C# готовые компоненты для решения типовых задач: от работы с коллекциями и файлами до сетевого взаимодействия и асинхронного программирования. В этой статье мы подробно разберём ключевые пространства имён и классы, которые должен знать каждый C#-разработчик.

1. Пространство имён System — база всего

Корневое пространство имён System содержит фундаментальные типы:

  • Базовые типы данных: Object, String, Int32, Double, Boolean и др.
  • Утилиты: Console (ввод/вывод), Math (математические функции), Random (генерация случайных чисел).
  • Обработка ошибок: Exception и его наследники (ArgumentException, NullReferenceException и т.д.).

Пример использования:

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Привет, .NET!");
        double result = Math.Sqrt(144);
        Console.WriteLine($"Квадратный корень из 144: {result}");
    }
}

2. System.Collections — работа с коллекциями

Пространство имён для хранения и управления группами объектов. Делится на обобщённые (generic) и необобщённые коллекции.

Основные классы:

  • List<T> — динамический массив с быстрым доступом по индексу.
  • Dictionary<TKey, TValue> — ассоциативный массив (хеш-таблица).
  • Queue<T> — очередь (FIFO).
  • Stack<T> — стек (LIFO).
  • HashSet<T> — множество уникальных элементов.

Пример:

using System.Collections.Generic;

var numbers = new List<int> { 10, 20, 30 };
numbers.Add(40);

var lookup = new Dictionary<string, int>
{
    ["один"] = 1,
    ["два"] = 2
};

Console.WriteLine(lookup["два"]); // 2

3. System.Linq — Language Integrated Query

LINQ позволяет выполнять SQL-подобные запросы к коллекциям, базам данных и XML. Основные методы расширения:

  • Where() — фильтрация.
  • Select() — проекция.
  • OrderBy() — сортировка.
  • GroupBy() — группировка.
  • Aggregate() — агрегатные функции (Sum, Count, Average).

Пример:

using System.Linq;

int[] scores = { 85, 92, 78, 95, 88 };
var highScores = scores
    .Where(s => s >= 90)
    .OrderByDescending(s => s)
    .ToList();

Console.WriteLine(string.Join(", ", highScores)); // 95, 92

4. System.IO — работа с файлами и потоками

Пространство имён для ввода-вывода данных. Ключевые классы:

  • File / FileInfo — создание, чтение, запись файлов.
  • Directory / DirectoryInfo — работа с каталогами.
  • StreamReader / StreamWriter — чтение/запись текстовых потоков.
  • FileStream — низкоуровневая работа с файлами.

Пример записи и чтения:

using System.IO;

string path = "example.txt";
File.WriteAllText(path, "Hello, .NET!");

string content = File.ReadAllText(path);
Console.WriteLine(content); // Hello, .NET!

5. System.Threading.Tasks — асинхронное программирование

Современный подход к асинхронности через ключевые слова async и await. Основные классы:

  • Task / Task<TResult> — асинхронная операция.
  • Task.Run() — запуск задачи в пуле потоков.
  • Task

Рекомендаций