Перейти к основному содержимому

5.05. Служебные классы

Разработчику Архитектору

Служебные классы

Что такое служебный класс
Environment: переменные среды, путь
Process: запуск процессов
AppContext: глобальные настройки

Environment

МетодОписаниеПример
Environment.OSVersionПолучает информацию о версии операционной системыConsole.WriteLine(Environment.OSVersion);
Environment.MachineNameВозвращает имя компьютера, на котором выполняется приложениеConsole.WriteLine(Environment.MachineName);
Environment.UserNameВозвращает имя текущего пользователя WindowsConsole.WriteLine(Environment.UserName);
Environment.VersionВозвращает версию .NET CLR (Common Language Runtime)Console.WriteLine(Environment.Version);
Environment.CurrentDirectoryВозвращает или устанавливает текущую рабочую директорию процессаConsole.WriteLine(Environment.CurrentDirectory);
Environment.GetEnvironmentVariable("PATH")Получает значение указанной переменной средыvar path = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable("VAR", "value")Устанавливает значение переменной среды в текущем процессеEnvironment.SetEnvironmentVariable("MY_VAR", "test");

File

МетодОписаниеПример
File.Exists("file.txt")Проверяет, существует ли файл по указанному путиif (File.Exists("data.txt"))
File.ReadAllText("file.txt")Считывает весь текст из файла в строкуstring content = File.ReadAllText("data.txt");
File.WriteAllText("file.txt", "text")Записывает текст в файл, перезаписывая содержимоеFile.WriteAllText("log.txt", "Log message");
File.ReadAllLines("file.txt")Считывает все строки из файла в массив строкstring[] lines = File.ReadAllLines("data.txt");
File.WriteAllLines("file.txt", lines)Записывает массив строк в файл (каждая строка — отдельная строка файла)File.WriteAllLines("output.txt", lines);
File.Copy("src", "dest")Копирует файл из одного пути в другойFile.Copy("source.txt", "backup.txt");
File.Delete("file.txt")Удаляет файл по указанному путиFile.Delete("temp.txt");
File.GetAttributes("file.txt")Возвращает атрибуты файла (например, Hidden, ReadOnly)var attr = File.GetAttributes("file.txt");
File.SetAttributes("file.txt", FileAttributes.Hidden)Устанавливает атрибуты файлаFile.SetAttributes("secret.txt", FileAttributes.Hidden);

Set & Mapping

Тип / МетодОписаниеПример
HashSet<T>Коллекция уникальных элементов без дубликатов и без гарантии порядкаHashSet<int> numbers = new HashSet<int>();
Dictionary<TKey, TValue>Хранит пары «ключ-значение», обеспечивает быстрый доступ по ключуDictionary<string, int> ages = new Dictionary<string, int>();
dict.ContainsKey(key)Проверяет, существует ли указанный ключ в словареages.ContainsKey("Alice")
dict.TryGetValue(key, out value)Безопасно пытается получить значение по ключу; возвращает false, если ключ не найденages.TryGetValue("Bob", out int age)
set.Add(value)Добавляет элемент в множество, если его ещё нетnumbers.Add(10);
set.Contains(value)Проверяет, содержится ли элемент в множествеnumbers.Contains(10)
dict[key] = valueУстанавливает или обновляет значение по указанному ключуages["Alice"] = 25;

Специальные методы класса

МетодОписаниеПример
public MyClass()Конструктор класса — вызывается при создании экземпляраMyClass obj = new MyClass();
~MyClass()Деструктор (finalizer) — вызывается перед сборкой мусора~MyClass() { /* очистка */ }
ToString()Возвращает строковое представление объектаoverride public string ToString() => $"Name: {Name}";
Equals(obj)Проверяет равенство текущего объекта с другимobj1.Equals(obj2)
GetHashCode()Возвращает хэш-код, используется в хэшированных коллекцияхoverride public int GetHashCode() => Name.GetHashCode();
this[int index]Индексатор — позволяет обращаться к объекту как к массивуpublic int this[int index] { get { ... } set { ... } }
operator +(a, b)Перегрузка оператора (например, +, -, ==)public static Point operator +(Point a, Point b)
ExtensionMethod(this T obj)Метод расширения — добавляет метод к существующему типуpublic static bool IsEmpty(this string s) => string.IsNullOrEmpty(s);