C# 在if语句中声明整数
这是到目前为止我的代码C# 在if语句中声明整数,c#,if-statement,C#,If Statement,这是到目前为止我的代码 { int x = 10; int p = 40; bool y = true; if (y == true) { int r = p; } { if (x + r >= 100) { Console.WriteLine("Variables are greater than 100!"); }
{
int x = 10;
int p = 40;
bool y = true;
if (y == true)
{
int r = p;
}
{
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
}
现在我得到一个错误,说“r”在当前上下文中不存在
我是编程新手,所以请不要讨厌 问题:由于您在
if block
内部声明了变量r
,因此在if block
外部将无法访问该变量。因为r变为局部变量
到if块
解决方案:您需要将r
的变量声明移到if块之外。这样变量r
将在函数
范围内的任何地方都可用
建议:您不需要使用大括号创建额外的代码块,请尝试删除它们
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
建议:如果您确实想在布尔值变量y
变为true
时执行上述操作,您可以简化上述代码,而无需创建额外变量r
,如下所示:
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
问题:由于您在if block
内部声明了变量r
,因此在if block
外部将无法访问该变量。因为r变为局部变量
到if块
解决方案:您需要将r
的变量声明移到if块之外。这样变量r
将在函数
范围内的任何地方都可用
建议:您不需要使用大括号创建额外的代码块,请尝试删除它们
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
建议:如果您确实想在布尔值变量y
变为true
时执行上述操作,您可以简化上述代码,而无需创建额外变量r
,如下所示:
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
问题:由于您在if block
内部声明了变量r
,因此在if block
外部将无法访问该变量。因为r变为局部变量
到if块
解决方案:您需要将r
的变量声明移到if块之外。这样变量r
将在函数
范围内的任何地方都可用
建议:您不需要使用大括号创建额外的代码块,请尝试删除它们
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
建议:如果您确实想在布尔值变量y
变为true
时执行上述操作,您可以简化上述代码,而无需创建额外变量r
,如下所示:
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
问题:由于您在if block
内部声明了变量r
,因此在if block
外部将无法访问该变量。因为r变为局部变量
到if块
解决方案:您需要将r
的变量声明移到if块之外。这样变量r
将在函数
范围内的任何地方都可用
建议:您不需要使用大括号创建额外的代码块,请尝试删除它们
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
建议:如果您确实想在布尔值变量y
变为true
时执行上述操作,您可以简化上述代码,而无需创建额外变量r
,如下所示:
试试这个:
int x = 10;
int p = 40;
bool y = true;
int r = 0
if (y == true)
{
r = p;
}
if (x + r >= 100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
int x = 10;
int p = 40;
bool y = true;
if (y == true && (x+p)>=100)
{
Console.WriteLine("Variables are greater than 100!");
}
else
{
Console.WriteLine("Variables are less than 100!");
}
错误是正确的,此代码:
if (y == true)
{
int r = p;
}
确实声明了整数,但一旦关闭块,新变量(在本例中为r
)就不再存在。它仅在范围内可见。声明r
就像你对x
和p
所做的那样,你会没事的。错误是正确的,此代码:
if (y == true)
{
int r = p;
}
确实声明了整数,但一旦关闭块,新变量(在本例中为r
)就不再存在。它仅在范围内可见。声明r
就像你对x
和p
所做的那样,你会没事的。错误是正确的,此代码:
if (y == true)
{
int r = p;
}
确实声明了整数,但一旦关闭块,新变量(在本例中为r
)就不再存在。它仅在范围内可见。声明r
就像你对x
和p
所做的那样,你会没事的。错误是正确的,此代码:
if (y == true)
{
int r = p;
}
确实声明了整数,但一旦关闭块,新变量(在本例中为r
)就不再存在。它仅在范围内可见。声明r
就像你对x
和p
所做的那样,你会没事的。给你
if (y == true)
{
int r = p;
}
您的“r”变量是在if子句中声明的,所以它只在本子句中已知,而不在外括号中。这就是为什么在下一个if子句中没有定义“r”变量的原因。在这里
if (y == true)
{
int r = p;
}
您的“r”变量是在if子句中声明的,所以它只在本子句中已知,而不在外括号中。这就是为什么在下一个if子句中没有定义“r”变量的原因。在这里
if (y == true)
{
int r = p;
}
您的“r”变量是在if子句中声明的,所以它只在本子句中已知,而不在外括号中。这就是为什么在下一个if子句中没有定义“r”变量的原因。在这里
if (y == true)
{
int r = p;
}
您的“r”变量是在if子句中声明的,所以它只在本子句中已知,而不在外括号中。这就是为什么在下一个if子句中没有定义“r”变量。为什么要使用这么多作用域?@MarcinJuraszek Instea