Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在if语句dosen';行不通_C# - Fatal编程技术网

C# 在if语句dosen';行不通

C# 在if语句dosen';行不通,c#,C#,一段时间以来,我一直试图找到一种在if语句之外使用变量的方法,但我发现的解决方案被我的计算机宣布为错误。举个例子,这里有一些非常基本的,它认为是错误的 int fr = 5; double f = 0; if (fr == 5) { double f = 2; } 它一直告诉我if语句中的变量不能使用,并给我这个消息 无法在此作用域中声明名为“f”的本地或参数,因为该名称在封闭的本地作用域中用于定义本地或参数 谁能告诉我我做错了什么吗?您的代码: int fr = 5; double

一段时间以来,我一直试图找到一种在if语句之外使用变量的方法,但我发现的解决方案被我的计算机宣布为错误。举个例子,这里有一些非常基本的,它认为是错误的

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;