7

+=私はこれらが何を意味し、どのように使用されているかを理解するためにどこでも探していました、、、、、私が見つけた最も多いのは-=、それらが「加算による割り当て」、「差異による割り当て」、「製品による割り当て」、「割り当て」であるということです。商で」などですが、いつ、どのように使われているのかわかりません。誰かが私にこれを説明することができれば私は非常に感謝するでしょう。ありがとう*=/=

4

7 に答える 7

36

それらは省略形です:

a += b

と同じです

a = a + b

等...

それで

  • a -= bと同等ですa = a - b
  • a *= bと同等ですa = a * b
  • a /= bと同等ですa = a / b

Kevin Brydonが提案したように-ここでC#の演算子をよく理解してください。

于 2012-11-09T12:51:35.503 に答える
6

7.13 Assignment operators仕様とそのサブセクションを参照してください。具体的には7.13.2 Compound assignment

x op = yの形式の演算は、演算がx op yで記述されているかのように、二項演算子の過負荷解決(セクション7.2.4 )を適用することによって処理されます。それで、

•選択した演算子の戻り型が暗黙的にxの型に変換可能である場合、xが1回だけ評価されることを除いて、操作はx = xopyとして評価されます。

•それ以外の場合、選択された演算子が事前定義された演算子であり、選択された演算子の戻り型が明示的にxの型に変換可能であり、yが暗黙的にxの型に変換可能である場合、操作はx =( T)(x op y)、ここでTはxのタイプですが、xは1回だけ評価されます。

•それ以外の場合、複合代入は無効であり、コンパイル時エラーが発生します。

于 2012-11-09T12:52:20.307 に答える
5
a+=1 means a = a+1
a-=2 means a = a-2
a*=3 means a = a*3
a/=4 means a = a/4
于 2012-11-09T12:52:12.233 に答える
4

これらは代入演算子(速記)です

a += 1; is equal to a =  a + 1;

b -= 1; is equal to b =  b - 1;

a *= 1; is equal to a =  a * 1;

b /= 1; is equal to b =  b / 1;

参照:リンク

于 2012-11-09T12:52:03.917 に答える
2

大まかに言うvar *operator*= expressionと、 var = var *operator* expression。また、どこかにドキュメントがあると聞きました。

于 2012-11-09T12:52:03.293 に答える
1

短い形式です。したがって、書く代わりに:

x = x + 1;

あなたは単に書くことができます:

x + = 1;

同じ効果があります。

于 2012-11-09T12:53:51.427 に答える
0

これらは省略演算子です。
これらは、操作を実行し、結果をそれらの間の変数の1つに格納するときに使用されます。つまり、結果をオペランドの1つに格納します。例
1)x = x + y;
ここでx+=yを実行できます。
例2)x = x + 1;
ここでは、x +=1を実行できます。

于 2012-11-09T12:51:45.603 に答える