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

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

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

Начать курс

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

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

Пространство имен System: основа основ

Пространство имен System содержит базовые типы данных, используемые во всех C#-приложениях. Сюда входят:

  • Примитивные типы: Boolean, Byte, Int32, Double, Char, String и другие. Каждый из них имеет методы для преобразования, сравнения и форматирования.
  • Класс Math: предоставляет константы (π, e) и статические методы для тригонометрических, логарифмических и статистических вычислений.
  • Класс Convert: позволяет безопасно преобразовывать типы данных (например, строку в число).
  • Класс Console: управляет вводом-выводом в консольном приложении.
using System;

int a = 42;
double b = Math.Sqrt(a);
string text = Convert.ToString(a);
Console.WriteLine($"Квадратный корень из {text} равен {b}");

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

Эти пространства имен содержат классы для хранения и управления группами объектов. Современные приложения должны использовать обобщенные (generic) версии из System.Collections.Generic, так как они обеспечивают типобезопасность и более высокую производительность.

  • List<T> — динамический массив.
  • Dictionary<TKey, TValue> — коллекция «ключ-значение».
  • Queue<T> и Stack<T> — реализация очереди и стека.
  • HashSet<T> — множество уникальных элементов.
using System.Collections.Generic;

var numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6);
numbers.Remove(3);

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

if (map.ContainsKey("один"))
    Console.WriteLine(map["один"]);

System.Linq: язык интегрированных запросов

LINQ (Language Integrated Query) позволяет выполнять запросы к коллекциям, базам данных, XML и другим источникам данных с помощью единого синтаксиса. Основные методы расширения определены в пространстве имен System.Linq:

  • Where — фильтрация.
  • Select — проекция.
  • OrderBy / ThenBy — сортировка.
  • GroupBy — группировка.
  • Aggregate, Sum, Count — агрегатные операции.
using System.Linq;

int[] scores = { 85, 92, 78, 95, 88 };
var highScores = scores
    .Where(s => s >= 90)
    .OrderByDescending(s => s)
    .Select(s => $"Оценка: {s}");

foreach (var item in highScores)
    Console.WriteLine(item);

System.IO: работа с файловой системой и потоками

Пространство имен System.IO предоставляет классы для чтения/записи файлов, работы с директориями и управления потоками данных. Основные классы:

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

string path = "example.txt";
File.WriteAllText(path, "Привет, .NET!");

string content = File.ReadAllText(path);
Console.WriteLine($"Содержимое файла: {content}");

// Чтение построчно
using (var reader = new StreamReader(path))
{
    string line;
    while ((line = reader.ReadLine()) != null)
        Console.WriteLine(line);
}

System.Threading и System.Threading.Tasks: многопоточность и асинхронность

Сов

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