Стандартная библиотека 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 предоставляет классы для чтения и записи файлов, работы с потоками данных и управления файловой системой. Ключевые классы:
FileиТакже в библиотеке
Рекомендаций