2

明らかに、以下はc#ではまったく問題ありません。

int a;
int b = a = 2;

1つのステートメントでc#で複数の変数の割り当てを行うことは可能ですか?

つまり、次のようなものです。

int a = (int b = 2);
4

5 に答える 5

6

私たちが見れば:

int a;
int b = a = 2;

a=2;それは本質的にその時ですb=a;(しかし余分な評価なしで)。したがって、順序を逆にすることで同様のことができます。

int a = 2, b = a;

ただし、これは少し躊躇してください。読みやすさも優先してください。

于 2012-08-20T15:50:00.650 に答える
3

私の知る限りではありません。私が知っている唯一のバリエーションは次のとおりです。

int a = 2, b = 2;
于 2012-08-20T15:47:05.570 に答える
3

おそらくあなたが得ようとしているのと同じくらい近くにあります。

int a, b = a = 2;

Console.WriteLine(a.ToString()); // 2
Console.WriteLine(b.ToString()); // 2
于 2012-08-20T15:47:40.333 に答える
0

いいえ、できます

int a = 2, b = a;

ここで、aが初期化され、次にbがaと同じ値で初期化されます。

また

int a, b = 2;

また

int a = 2, b = 2;

またはあなたが言ったように

int a = b = 2;
于 2012-08-20T15:46:38.767 に答える
0

これですか?

int a = 2, b = 2;

正常に動作します

于 2012-08-20T15:47:07.673 に答える