C# 每个语​​句都可以是表达式吗?

C# Can every statement be an expression?

C# 中的每个语句都可以是表达式吗? 例如,我知道方法调用语句可以用作表达式,因此我可以这样做:

for (int i = 0; i < 10; Console.WriteLine(i++));

但是每个陈述都是这样吗?

编辑: 但是由于某种原因,这个东西不适用于 while 循环

while (Console.WriteLine(1) > 0) { }

此代码出错。也许你可以解释发生了什么?我有点糊涂了。

在这两种情况下你都需要一个空语句:

The empty statement consists of a single semicolon. It does nothing and can be used in places where a statement is required but no action needs to be performed.

for(int i = 0; i < 10; Console.WriteLine(i++));之所以起作用,是因为它在块的末尾有一个空语句;

要使 while 循环工作,您还需要添加一个空语句。

while(Console.WriteLine(1) > 0);