很奇怪的c#代码行

时间:2011-05-17 21:30:13

标签: c#

return Json(new { ErrorMessage = scheduleBase.ErrorMessage }, JsonRequestBehavior.AllowGet); ;

这只是一个奇怪的例子,我无法正确看到其他分号与之相关吗?这段代码编译并且实际上工作正常,但我很难过为什么。

我在同事代码中找到了它。

2 个答案:

答案 0 :(得分:12)

额外分号是return ...;之后的空语句 它是无用的,无害的。

空语句作为循环体很有用:

while (str[++i] != '#')
    ;

它们也是错误的常见来源:

if (something) ; 
{
    ...
}

此块未连接到if语句;条件仅适用于空语句 C#编译器会在这里发出警告。

答案 1 :(得分:4)

额外的分号不是错误。