c#中一个语句中的多个内联赋值

时间:2012-08-20 15:44:39

标签: c# variable-assignment

显然,以下内容在c#中完全没问题;

int a;
int b = a = 2;

是否可以在单个语句中在c#中执行多个变量赋值?

即。类似的东西;

int a = (int b = 2);

5 个答案:

答案 0 :(得分:5)

如果我们看一下:

int a;
int b = a = 2;

基本上是a=2;然后b=a;(但没有额外的eval)。所以我们可以通过颠倒顺序来获得类似的结果:

int a = 2, b = a;

然而:我会说犹豫不决:请同时优先考虑可读性。

答案 1 :(得分:3)

据我所知。我所知道的唯一变化是:

int a = 2, b = 2;

答案 2 :(得分:3)

可能会尽可能接近你。

int a, b = a = 2;

Console.WriteLine(a.ToString()); // 2
Console.WriteLine(b.ToString()); // 2

答案 3 :(得分:0)

不,但你可以做到

int a = 2, b = a;

这里a将被初始化,然后b将被初始化,其值与a相同。

int a, b = 2;

int a = 2, b = 2;

或正如你所说

int a = b = 2;

答案 4 :(得分:0)

你是说这个?

int a = 2, b = 2;

工作正常