更改活动字符串c#

时间:2015-08-10 22:14:33

标签: c# string

我对c#有些问题。我想更改一个字符串,该字符串在代码中途改变,并在以后测试为true或false。

到目前为止,我一直遇到这个问题,并提到互联网。我真的找不到任何东西。

实施例..

if (LineIN == "silent")
{
    string silent = "true"; //Change string from false to true
}

...测试

if (silent == "true") 
{
// Do something
}

我正在使用视觉工作室,它说我需要创建如果我这样做的话。之后它给了我更多的错误..

    Console.WriteLine("");
    Console.ForegroundColor = ConsoleColor.DarkCyan;
    Console.Write("RSA #: ");
    string LineIN = Console.ReadLine();

    if (LineIN == "silent")
    {
        string silent = "true";
    }
}

if (silent == "false") { // }

1 个答案:

答案 0 :(得分:6)

如错误所示,您需要在更广泛的范围内声明silent。例如:

void main()
{
    string silent = "false"; // silent is declared here in outer scope so it can be used in the second if()

    Console.ForegroundColor = ConsoleColor.DarkCyan;
    Console.Write("RSA #: ");
    string LineIN = Console.ReadLine();

    if (LineIN == "silent")
    {
        silent = "true";
    }

    if (silent == "true")
    {
        // do something
    }
}

如果在silent语句中声明if变量,则该变量将无法在该块之外访问。将声明移到if之外允许您稍后在方法中访问变量并读取/更改值等。

或者,您可以使用bool来存储true / false值:

    bool silent = false; // silent is declared here in outer scope so it can be used in the second if()

    Console.ForegroundColor = ConsoleColor.DarkCyan;
    Console.Write("RSA #: ");
    string LineIN = Console.ReadLine();

    if (LineIN == "silent")
    {
        silent = true;
    }

    if (silent == true)
    {
        // do something
    }

初始值为silent的{​​{1}}声明是多余的,因为false的默认值无论如何都是bool。我添加它只是为了让false更改为false更明显。