每个语句都可以成为C#中的表达式吗? 例如,我知道方法调用语句可以用作表达式,因此我可以这样做:
for (int i = 0; i < 10; Console.WriteLine(i++));
但是每个声明都是如此吗?
编辑: 但是由于某种原因,这个东西不适用于while循环
while (Console.WriteLine(1) > 0) { }
此代码出错。也许你可以解释发生了什么?我有点困惑。
答案 0 :(得分:1)
在这两种情况下,您都需要空语句:
空语句由单个分号组成。它什么都不做 并且可以在需要声明但没有动作的地方使用 需要进行。
for(int i = 0; i < 10; Console.WriteLine(i++));
之所以有效,是因为它在块的末尾有一个空语句;
。
要使while循环工作,您还需要添加一个空语句。
while(Console.WriteLine(1) > 0);