C# 如何在C中访问变量#
如何在C#中访问竹变量(计划和分支变量)?在powershell中,我可以使用$env:bambon\u variableName进行访问。我不知道如何用C#做。这些是我的例子 竹变量名称:vCheckoutJobC# 如何在C中访问变量#,c#,environment-variables,bamboo,confluence,C#,Environment Variables,Bamboo,Confluence,如何在C#中访问竹变量(计划和分支变量)?在powershell中,我可以使用$env:bambon\u variableName进行访问。我不知道如何用C#做。这些是我的例子 竹变量名称:vCheckoutJob var databaseServer = Environment.GetEnvironmentVariable("bamboo_vCheckoutJob"); //returns null var databaseServer = Environment.GetEnvironme
var databaseServer = Environment.GetEnvironmentVariable("bamboo_vCheckoutJob"); //returns null
var databaseServer = Environment.GetEnvironmentVariable("bamboo_vCheckoutJob", EnvironmentVariableTarget.Machine); // returns null
首先,做一些错误处理可能是个好主意 让我们检查用户是否确实设置了我们要查找的特定环境变量:
string bambooEnv;
bool delete_temp_env = false;
bambooEnv = Environment.GetEnvironmentVariable("bamboo_vCheckoutJob");
// Didn't exist, if necessary, create it temporarily.
if (bambooEnv == null)
{
Environment.SetEnvironmentVariable("bamboo_vCheckoutJob", "your_value");
delete_temp_env = true;
// Now retrieve it.
bambooEnv = Environment.GetEnvironmentVariable("bamboo_vCheckoutJob");
}
// If we've created it, now delete it.
if (delete_temp_env) {
Environment.SetEnvironmentVariable("bamboo_vCheckoutJob", null);
// Verify Deletion
if (Environment.GetEnvironmentVariable("bamboo_vCheckoutJob") == null)
Console.WriteLine("EnvVar var has been deleted again");
}
包装在函数中:
public static string getEnvironmentVariable(string envVar, string fallbackValue)
{
bool deleteTempEnv = false;
string value = Environment.GetEnvironmentVariable(envVar);
if (value == null)
{
Environment.SetEnvironmentVariable(envVar, fallbackValue);
deleteTempEnv = true;
value = Environment.GetEnvironmentVariable(envVar);
}
if (deleteTempEnv)
{
Environment.SetEnvironmentVariable(envVar, null);
if (Environment.GetEnvironmentVariable(envVar) == null)
{
Console.WriteLine("EnvVar has been deleted again");
}
}
return value;
}
用法:
var databaseServer = getEnvironmentVariable("bamboo_vCheckoutJob", "default_path_to_server");
发生了什么事
我们正在检查环境变量是否已设置,如果已设置,则返回它
如果不是
让我们使用默认值创建环境变量。
如果我们必须自己创建环境变量,就不要在程序不运行时将其保留在用户系统中,然后再次删除它
我已经多次使用了
Environment.GetEnvironmentVariable(“TEMP”)
。似乎您必须检查bambol\vCheckoutJob
是否已设置。您可以使用set bambol\u vCheckoutJob='test value“
手动设置它(只是为了检查)。请注意,您必须在用于运行可执行文件的同一cmd会话中设置它(如Win+R、cmd、Enter、set bambol\u vCheckoutJob、run exe)