【发布时间】:2010-03-22 23:54:55
【问题描述】:
另一个论坛上出现了一个问题,我知道如何解决它,但它揭示了我特有的编译器功能。该人收到错误“嵌入式语句不能是声明或标记语句”,因为他们在没有括号的 if 语句后面有一个变量声明。这不是他们的意图,但他们已经注释掉了 if 语句之后的代码行,这使得变量声明成为事实上要执行的代码行。无论如何,这就是背景,这让我想到了这一点。
以下代码不合法
if (true)
int i = 7;
但是,如果你把它放在括号里,那就是合法的。
if (true)
{
int i = 7;
}
这两段代码都没有用。不过第二个还行。这种行为的具体解释是什么?
【问题讨论】:
标签: c# if-statement