为什么可以使用表达式作为语句?

Tom*_*duy -2 .net c#

有一个特殊原因允许使用表达式作为语句吗?

svi*_*ick 5

根据编译器错误,并非所有表达式都可以用作语句:

只有赋值,调用,递增,递减和新对象表达式才能用作语句.

对于所有这些,单独使用它们是有意义的(尤其是赋值!).

为什么新的对象表达式也被允许也不是那么明显,但我认为认为它可以产生可观察到的副作用并不是不合理的.

C#4规范在第8.6节中讨论了表达式语句,但它没有说明错误消息.