Настройка переменных окружения

Переменные среды — это набор пар ключ-значение, которые можно использовать для настройки и конфигурации приложения. В C# доступ к переменным среды можно получить с помощью метода Environment.GetEnvironmentVariable.

<aside> 🐶 Подробней про GetEnvironmentVariable можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/api/system.environment.getenvironmentvariable?view=net-7.0

</aside>

Давайте попробуем написать приложение используя переменные окружения:

  1. В папке с нашими уроками введите команду:

    dotnet new console -o lesson05
    
  2. Заменим код 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. Если переменная не установлена или имеет пустое значение, мы выводим сообщение о том, что переменная среды не установлена. В противном случае мы выводим значение переменной окружения в консоль. На что тут стоит обратить внимание:

  3. Ключевое слово var подсказывает компилятору вычислять тип значения из правой части выражения.

    <aside> 🐶 Подробней про var можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/statements/declarations

    </aside>

  4. 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>

  5. Значение null это значение характерное для ссылочных типов, говорит о том, что на ссылку не ссылается объект, является для таких типов значением по умолчанию.

    <aside> 🐶 Подробней про null можно почитать тут https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/null

    </aside>

  6. На этом всё, давайте сохраним файл и убедимся что консоль находится в папке с уроком lesson05.

  7. В консоле перейдите в папку с проектом.

  8. Запустите приложение без параметров:

    dotnet run
    
  9. Вы получите вывод:

    Environment variable not set.

  10. Давайте установим значение переменной среды MY_VARIABLE, выполнив следующую команду в терминале:

    export MY_VARIABLE="Hello dotnet 7"
    
  11. Повторно запустите приложение.

  12. Вы получите вывод:

    Environment variable value: Hello dotnet 7

<aside> 🐶 В этом уроке мы научились получать в приложение переменные окружения, познакомились с новым ключевыми словом и статической функцией строки. Это позволит нам начать конфигурировать приложения используя в них параметры окружения.

</aside>

<aside> 💡 Решение доступно тут https://github.com/vahpetr/lessions/tree/main/lesson05

</aside>