在一行中用逗号分隔许多变量。 C#

时间:2014-09-19 18:56:48

标签: c# comma

抱歉这个愚蠢的问题,但我找不到答案。那么,为什么我不能在C#中编写这样的代码:

int a = 10, b = 20, c = 30, d = 40;    
a = b, c = d;

在C ++中我可以编写它就可以了。

为什么它不能用C#编译?

3 个答案:

答案 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)

第一行很好。但是,第二行包含两个单独的语句。语句必须用分号;分隔。