`Environment` в .NET — это класс, который предоставляет доступ к различным системным информациям и ресурсам. Этот класс содержит статические методы и свойства, которые можно использовать для взаимодействия с операционной системой и текущим окружением выполнения.
Он содержит различные полезные свойства и методы, которые позволяют вам получать информацию и взаимодействовать с окружающей средой.
### Свойства
- `CommandLine`: Возвращает аргументы командной строки в виде строки.
- `CurrentDirectory`: Возвращает или устанавливает полный путь к текущей рабочей директории.
- `ExitCode`: Возвращает или устанавливает значение кода выхода для процесса.
- `Is64BitOperatingSystem`: Возвращает булевое значение, указывающее, является ли операционная система 64-разрядной.
- `Is64BitProcess`: Возвращает булевое значение, указывающее, является ли текущий процесс 64-разрядным.
- `MachineName`: Возвращает имя этого компьютера.
- `NewLine`: Возвращает строку, представляющую символ новой строки на этой платформе.
- `OSVersion`: Возвращает объект, содержащий информацию о версии операционной системы.
- `ProcessorCount`: Возвращает количество процессоров на текущем компьютере.
- `StackTrace`: Возвращает текущий стек вызовов.
- `SystemDirectory`: Возвращает путь к системному каталогу.
- `UserName`: Возвращает имя пользователя, под которым работает текущий поток.
- `Version`: Возвращает версию общей языковой среды (Common Language Runtime, CLR).
- `WorkingSet`: Возвращает количество физической памяти, сопоставленной с процессом.
### Методы
##### Exit
```csharp
public static void Exit(int exitCode);
```
Метод немедленно завершает работу всех потоков в процессе и завершает сам процесс с указанным кодом выхода. А также незамедлительно останавливает выполнение всего приложения и возвращает код выхода операционной системе.
Пример
```csharp
if (критическаяОшибка) // Если произошла критическая ошибка
{
Environment.Exit(1); // Завершаем выполнение программы с кодом выхода 1
}
```
Код выхода (exitCode) возвращается операционной системе. Обычно код 0 означает успешное завершение, а ненулевой код сигнализирует об ошибке.
Этот метод завершает выполнение всех потоков в приложении без их корректного завершения, поэтому важные задачи, такие как сохранение данных, могут быть прерваны. В Unity это может привести к нежелательным последствиям, таким как потеря несохраненных данных или непредвиденное завершение работы игры.
Таким образом, хотя Environment.Exit может быть полезным для экстренного завершения приложения, его следует использовать с осторожностью. В большинстве случаев лучше применять менее жесткие методы управления ошибками и выполнением кода.
<br>
- `FailFast(string message)`: Немедленно завершает процесс после создания дампа памяти.
- `GetCommandLineArgs()`: Возвращает аргументы командной строки в виде массива строк.
- `GetEnvironmentVariable(string variable)`: Возвращает значение указанной переменной среды.
- `GetEnvironmentVariables()`: Возвращает все переменные среды и их значения.
- `GetFolderPath(Environment.SpecialFolder)`: Возвращает путь к указанной системной папке.
- `GetLogicalDrives()`: Возвращает имена всех логических дисков на компьютере.
Полный список методов и свойств класса `Environment` можно найти в официальной документации Microsoft.