到目前为止,我一直遇到这个问题,并提到互联网。我真的找不到任何东西。
实施例..
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") { // }
答案 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
更明显。