很奇怪的c#代码行

sla*_*dau 0 c#

return Json(new { ErrorMessage = scheduleBase.ErrorMessage }, JsonRequestBehavior.AllowGet); ;
Run Code Online (Sandbox Code Playgroud)

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

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

SLa*_*aks 12

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

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

while (str[++i] != '#')
    ;
Run Code Online (Sandbox Code Playgroud)

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

if (something) ; 
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

该块未与if语句相关联; 该条件仅适用于空语句.
C#编译器会在这里发出警告.