while循环中的C#语法-不允许变量定义



请帮助我理解以下语句生成编译错误的原因:在while语句中定义变量是错误的吗?

while((string _l = _sr.ReadLine()) != null){
_sb.AppendLine(_l);
}

//表达式术语"string"无效

是的,您需要在循环外声明它:

string _l;
while((_l = _sr.ReadLine()) != null){
_sb.AppendLine(_l);
}

规范将while语句定义为:

8.8.1 while语句

while语句:

while(布尔表达式)嵌入语句

由于变量声明不是布尔表达式,因此不能将它们放入while循环的条件中。

找到类似的问题和答案:

由于while循环接受一个条件,所以每次运行循环时都要声明一个新的行实例,因为每次通过循环都会评估该条件

在"while"循环中,为什么可以';我不把条件中的变量声明为"for"循环中的变量吗?

最新更新