在 if 语句中声明一个整数
本文关键字:一个 整数 if 语句 声明 | 更新日期: 2024-10-31 00:48:15
这是我到目前为止的代码
{
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 (y == true)
{
int r = p;
}
确实声明了整数,但是一旦关闭块,新变量(在本例中为 r
)就不复存在。它仅对if
范围可见。像你对x
和p
一样宣布r
,你会没事的。
问题:由于您在if block
内部声明了变量r
,因此不会在if block
外部accessible
。 因为 r 对if-block
local variable
。
解决方案 :您需要将r
的变量声明移动到 if 之外 block.so 该变量r
将在该function
范围内的任何位置available
。
建议:你不需要使用curly braces
创建额外的代码块,尝试删除它们。
试试这个:
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!");
}
建议:如果你真的想在变量y
变得true
时执行上述操作boolean
你可以简化上面的代码,而无需创建额外的变量r
如下所示:
试试这个:
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"变量是在if子句中声明的,因此它只在此子句中知道,而不是外侧括号。这就是为什么在下一个 if 子句中没有定义 "r" 变量的原因。