C# 在if语句dosen';行不通
一段时间以来,我一直试图找到一种在if语句之外使用变量的方法,但我发现的解决方案被我的计算机宣布为错误。举个例子,这里有一些非常基本的,它认为是错误的C# 在if语句dosen';行不通,c#,C#,一段时间以来,我一直试图找到一种在if语句之外使用变量的方法,但我发现的解决方案被我的计算机宣布为错误。举个例子,这里有一些非常基本的,它认为是错误的 int fr = 5; double f = 0; if (fr == 5) { double f = 2; } 它一直告诉我if语句中的变量不能使用,并给我这个消息 无法在此作用域中声明名为“f”的本地或参数,因为该名称在封闭的本地作用域中用于定义本地或参数 谁能告诉我我做错了什么吗?您的代码: int fr = 5; double
int fr = 5;
double f = 0;
if (fr == 5)
{
double f = 2;
}
它一直告诉我if语句中的变量不能使用,并给我这个消息
无法在此作用域中声明名为“f”的本地或参数,因为该名称在封闭的本地作用域中用于定义本地或参数
谁能告诉我我做错了什么吗?您的代码:
int fr = 5;
double f = 0;
if (fr == 5)
{
double f = 2;
}
如果在if中重新定义f,只需删除单词double,使其为f=2
在if f将为0或2之后,错误消息是不言自明的!不能在外部作用域中声明同名变量,然后在内部作用域中声明
f
两次,这就是问题所在。只需删除double
,它就可以工作了-但是您要更改前面定义的f
double f=fr==5的值吗?2 : 0;谢谢你指出我的愚蠢,我在高中学C#,他们教C#的方式糟透了。但是还有另一个问题,假设我在一个等式或另一个if语句中使用f,或者只是想把Console.WriteLine(“{0}”,f};)放进去。它现在告诉我变量是未赋值的。用你显示的代码,它将被初始化。我自学了c#(和许多其他语言,并且没有任何bar c#的互联网)所以,抓起一本书,读一读。感谢所有的帮助。我只是想通过学年,所以我可能不会遵循最后的建议,但如果我有时间,也许我会。如果你每天花一个小时,大多数语言基础知识不会花你超过一周的时间!