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

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

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

Начать курс

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

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

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

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

  • Базовые типы: Object, ValueType, String, Int32, Boolean и др.
  • Математические функции: класс Math (методы Abs, Pow, Sqrt).
  • Работа с консолью: класс Console (ввод/вывод).
  • Генерация случайных чисел: класс Random.
using System;

class Program
{
    static void Main()
    {
        // Пример работы с базовыми типами и классом Math
        int number = -42;
        int absoluteValue = Math.Abs(number);
        Console.WriteLine($"Модуль числа {number} равен {absoluteValue}");

        // Генерация случайного числа
        Random rnd = new Random();
        int randomNumber = rnd.Next(1, 100);
        Console.WriteLine($"Случайное число от 1 до 100: {randomNumber}");
    }
}

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

Пространство имен System.Collections и его обобщенная версия System.Collections.Generic предоставляют классы для хранения и управления группами объектов. Наиболее популярные из них:

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

class Program
{
    static void Main()
    {
        // List
        List<string> fruits = new List<string> { "Яблоко", "Банан", "Апельсин" };
        fruits.Add("Виноград");
        Console.WriteLine("Список фруктов:");
        foreach (var fruit in fruits)
            Console.WriteLine(fruit);

        // Dictionary
        Dictionary<int, string> employees = new Dictionary<int, string>();
        employees.Add(1, "Иван");
        employees.Add(2, "Мария");
        Console.WriteLine($"\nСотрудник с ID 1: {employees[1]}");
    }
}

3. System.Linq — язык интегрированных запросов (LINQ)

System.Linq — одно из самых мощных расширений стандартной библиотеки C# (.NET). Оно позволяет выполнять сложные запросы к коллекциям, базам данных и XML с помощью синтаксиса, похожего на SQL. Основные методы расширения:

  • Where — фильтрация.
  • Select — проекция (преобразование).
  • OrderBy / OrderByDescending — сортировка.
  • GroupBy — группировка.
  • Aggregate — агрегация (сумма, максимум и т.д.).
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 5, 12, 8, 21, 3, 17 };

        // Фильтрация и сортировка с помощью LINQ
        var result = numbers.Where(n => n > 10)
                            .OrderByDescending(n => n)
                            .Select(n => $"Число: {n}");

        Console.WriteLine("Числа больше 10 (по убыванию):");
        foreach (var item in result)
            Console.WriteLine(item);

        // Агрегация
        int sum = numbers.Sum();
        double average = numbers.Average();
        Console.WriteLine($"\nСумма: {sum}, Среднее: {average:F2}");
    }
}

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

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

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