Как скопировать глобальную переменную в C#? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть переменная в одной l oop в 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 является ошибкой, поскольку переменная объявлена ​​вне l oop.

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Здесь вам не нужна глобальная переменная. Просто объявите usrinput вне вашего l oop, вот так:

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();
    }
}
0 голосов
/ 16 апреля 2020

невозможно создать истинную глобальную переменную в переменной C#,

Stati c в классе. Выполнено. Глобальный в определении любой глобальной переменной (т.е. вы должны быть в том же процессе). И стандарт C#.

...