Переменные среды — это набор пар ключ-значение, которые можно использовать для настройки и конфигурации приложения. В C# доступ к переменным среды можно получить с помощью метода Environment.GetEnvironmentVariable.
<aside>
🐶 Подробней про GetEnvironmentVariable можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/api/system.environment.getenvironmentvariable?view=net-7.0
</aside>
Давайте попробуем написать приложение используя переменные окружения:
В папке с нашими уроками введите команду:
dotnet new console -o lesson05
Заменим код Program.cs на:
var myVariable = Environment.GetEnvironmentVariable("MY_VARIABLE");
if (string.IsNullOrEmpty(myVariable))
Console.WriteLine("Environment variable not set.");
else
Console.WriteLine($"Environment variable value: {myVariable}");
В этом примере мы получаем значение переменной среды с именем MY_VARIABLE. Если переменная не установлена или имеет пустое значение, мы выводим сообщение о том, что переменная среды не установлена. В противном случае мы выводим значение переменной окружения в консоль. На что тут стоит обратить внимание:
Ключевое слово var подсказывает компилятору вычислять тип значения из правой части выражения.
<aside>
🐶 Подробней про var можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/statements/declarations
</aside>
string.IsNullOrEmpty(myVariable) это статическая функция IsNullOrEmpty класса String (ключевое слово string является псевдонимом класса String), проверяет что строка myVariable равна null или пустой строке “”.
<aside>
🐶 Подробней про string.IsNullOrEmpty можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/api/system.string.isnullorempty?view=net-7.0
</aside>
Значение null это значение характерное для ссылочных типов, говорит о том, что на ссылку не ссылается объект, является для таких типов значением по умолчанию.
<aside>
🐶 Подробней про null можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/null
</aside>
На этом всё, давайте сохраним файл и убедимся что консоль находится в папке с уроком lesson05.
В консоле перейдите в папку с проектом.
Запустите приложение без параметров:
dotnet run
Вы получите вывод:
Environment variable not set.
Давайте установим значение переменной среды MY_VARIABLE, выполнив следующую команду в терминале:
export MY_VARIABLE="Hello dotnet 7"
Повторно запустите приложение.
Вы получите вывод:
Environment variable value: Hello dotnet 7
<aside> 🐶 В этом уроке мы научились получать в приложение переменные окружения, познакомились с новым ключевыми словом и статической функцией строки. Это позволит нам начать конфигурировать приложения используя в них параметры окружения.
</aside>
<aside> 💡 Решение доступно тут https://github.com/vahpetr/lessions/tree/main/lesson05
</aside>