抱歉这个愚蠢的问题,但我找不到答案。那么,为什么我不能在C#中编写这样的代码:
int a = 10, b = 20, c = 30, d = 40;
a = b, c = d;
在C ++中我可以编写它就可以了。
为什么它不能用C#编译?
答案 0 :(得分:10)
你可以写第一行。这在C#中是允许的,并在C#语言规范的第8.5.1节中详细说明,其中显示每个 local-variable-declarator 可以在逗号分隔的列表中:
local-variable-declarators:
local-variable-declarator
local-variable-declarators , local-variable-declarator
但是,C#没有类似C ++的comma operator,所以你必须拆分第二行:
int a = 10, b = 20, c = 30, d = 40;
a = b;
c = d;
答案 1 :(得分:3)
仅仅因为C#不是C ++,而且这两种语言彼此不同。
或者更准确地说:C#语言不是C ++语言的超集。因此,并非每个C ++程序都是有效的C#程序。
答案 2 :(得分:1)
第一行很好。但是,第二行包含两个单独的语句。语句必须用分号;
分隔。