我正在编写一些代码,现在我已经遇到了错误
string getCode(string code)
{
int count = code.Length;
if (count % 2 == 0)
{
string error = "no";
}
else
{
string error = "yes";
string error_message = "There is something wrong with the code. Program.cs - line 23";
}
if (error == "yes")
return null;
return error;
}
好吧,现在我在if语句中设置变量error
。如果我后来说if (error == "yes")
没有用,我会这样做。它给了我错误the name 'error' does not exist in the current content
我现在已经在互联网上搜索了15-20分钟。尝试了很多修复和示例。使用全局变量甚至尝试为我的变量创建另一个类并从那里读取变量。这工作,但后来我不能再设置变量了。或者我只是不知道该怎么做。你能帮我么?我会非常感激的!
由于
答案 0 :(得分:4)
您应该将error
变量声明在if
的范围之外,如下所示:
string error = null;
if (count % 2 == 0)
{
error = "no";
}
else
{
error = "yes";
string error_message = "There is something wrong with the code. Program.cs - line 23";
}
if (error == "yes")
return null;
这样做,您可以在if
的块中或else
的块中访问此变量,或者更广泛地说在所有范围内,这些范围将包含在方法{{1}的范围内}}
旁注: getCode
只能在error_message
的块中使用,您只需声明一个变量并为其赋值。您可能还必须在else
声明旁边移动此声明。
答案 1 :(得分:0)
您必须声明范围之外的变量才能被整个代码访问, 像
/account/register
答案 2 :(得分:0)
您可以通过创建一个类来创建变量 global ,然后在需要使用它时调用该类来创建类,如下所示:
public static class Globals
{
public static String error = "yes";
}
您可以在需要时使用
添加更多变量global.error
答案 3 :(得分:0)
将您的代码更改为:
string getCode(string code)
{
int count = code.Length;
string error = "";
if (count % 2 == 0)
{
error = "no";
}
else
{
error = "yes";
string error_message = "There is something wrong with the code. Program.cs - line 23";
}
if (error == "yes")
return null;
}
您需要知道的是,如果在范围内声明变量,则仅在该范围内可见。 大括号定义一个范围,以便您的错误变量在if true分支中可见,而else分支是两个在不同范围内具有相同名称的不同变量。
更改的代码将错误变量声明移动到包含方法范围(getCode)中,使其可以访问。
答案 4 :(得分:0)
string getCode(string code)
{
int count = code.Length;
string error = null;
if (count % 2 == 0)
{
error = "no";
}
else
{
error = "yes";
}
if (error == "yes")
return "something that you intended to return when there is an error";
else
return "something that you intended to return when there is no error";
}