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

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


在C ++中,我可以编写它,并且可以。

为什么它不能在C#中编译?

最佳答案

您可以写第一行。这在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;

07-24 19:27