while()没有{}?

Dav*_*een 4 c#

我在VS2010的一个项目中有这个代码 - 它是一个我尚未完全实现的占位符方法.我今天开始实施.请注意,while语句的if/else周围没有{}.这编译了很多次 - 这已经有一段时间了.这是VS中的一个错误吗?我认为循环都需要{}

private void ParsefCIPProfiles(string block)
{
 StringReader reader = new StringReader(block);
 string readline = reader.readline();

 while (readline != null)
  if ()
  {}
  else
  {}
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ain 9

不,这不是一个bug.事实上,对于单语句内容,大多数其他作用域语句也不需要花括号.例如:

//This is valid
using (var f = new foo)
    f.Bar();

// So is this
foreach (var i in someInts)
    Console.Out.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)