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

时间:2018-02-12 20:10:08

标签: expression statements

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

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

但是每个声明都是如此吗?

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

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

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

1 个答案:

答案 0 :(得分:1)

在这两种情况下,您都需要空语句

  

空语句由单个分号组成。它什么都不做   并且可以在需要声明但没有动作的地方使用   需要进行。

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

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

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