如何在 C# 中复制全局变量?

How to replicate a global variable in C#?

我在 C# 的一个循环中有一个变量在另一个循环中无法识别,我知道在 C# 中无法创建真正的全局变量,但我想知道是否可以模仿一个。我的一些代码是这样的:

foreach (string line in lines)
{
    if (line.Contains("write"))
    {
        var tempctr = line.Replace("(", "");
        var tempctr2 = line.Replace(")", "");
        var ctr = tempctr2.Remove(0, 6);
        Console.Write(ctr);
    }
    else if (line.Contains("sayinput"))
    {
        Console.Write(usrinput);
    }
    else if (line.Contains("inputget"))
    {
        var tempctr = line.Replace("(", "");
        var tempctr2 = line.Replace(")", "");
        var ctr = tempctr2.Remove(0, 9);
        Console.Write(ctr);
        string usrinput = Console.ReadLine();
    }
}

代码从文本文件中读取并根据文本中的内容运行特定命令。我的目的是让它用 inputget 创建一个变量,然后用 sayinput 把它吐出来。 并且第一个 usrinput 引用是一个错误,因为该变量是在循环之外声明的。

it is not possible to create a true global variable in C#,

class 上的静态变量。完毕。全局在任何全局变量的定义中(即你必须在同一个进程中)。和标准 C#。

这里不需要全局变量。只需在循环外声明 usrinput,如下所示:

string usrinput = "";

foreach (string line in lines)
{
    if (line.Contains("write"))
    {
        //...
    }
    else if (line.Contains("sayinput"))
    {
        Console.Write(usrinput);
    }
    else if (line.Contains("inputget"))
    {
        // ...
        usrinput = Console.ReadLine();
    }
}