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

Nik*_*hin 3 c# comma

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

int a = 10, b = 20, c = 30, d = 40;    
a = b, c = d;
Run Code Online (Sandbox Code Playgroud)

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

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

Ree*_*sey 10

可以写第一行.这在C#中是允许的,并在C#语言规范的第8.5.1节中详细说明,其中显示每个局部变量声明符可以位于以逗号分隔的列表中:

local-variable-declarators:
    local-variable-declarator
    local-variable-declarators   ,   local-variable-declarator
Run Code Online (Sandbox Code Playgroud)

但是,C#没有像C++这样的逗号运算符,因此您必须拆分第二行:

int a = 10, b = 20, c = 30, d = 40; 
a = b;
c = d;
Run Code Online (Sandbox Code Playgroud)

  • @NikitaSivukhin C#中没有逗号运算符.在C++中合法的唯一原因是该语言中有一个运算符允许将多个表达式放在需要单个表达式的位置(C++逗号运算符).C#中不存在该运算符 - 它只是语言的一部分. (3认同)
  • @NikitaSivukhin是 - For循环允许在C#中使用"statement-expression-list"(列表是键). (2认同)