C#中的/=是什么意思?

3

我在谷歌搜索时遇到了困难,关键词是/=... 请问这段代码的作用是什么?

number = digits[n % digits.Length] + number;
n /= digits.Length;

今日免费次数已满, 请开通会员/明日再来

2
http://en.wikibooks.org/wiki/C_Sharp_Programming/Operators#Short-hand_Assignment - photoionized
感谢所有的帮助。我可以在11分钟内接受答案。 - makerofthings7
6个回答

5

4

在已有的答案中,需要补充的是,复合赋值运算符$=(用二进制运算符替换$)与右侧使用二进制运算符的赋值操作符类似。不同之处在于左侧只被计算一次。所以:

x $= y

x只会被计算一次。

x = x $ y

x会被评估两次。

实际上不太可能产生影响。


如果你写成这样:DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty /= 100;,那么和DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty = DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty / 100;相比可能会有所不同。但大多数情况下,你会将其拆分为两个语句,所以你是正确的,实际上没有什么区别。 - Jeppe Stig Nielsen

1

x /= y 的意思是 将 x 设为(在这种情况下为整除的)'x 除以 y' 的整数部分/ 是除法运算符。


0

/= 是一个除法运算符。

x /= y ;

这句话的意思是:

x = x / y ;

0

同上

n += 4; // adds 4
n *= 4; // 4 times

只是除法。


0
根据MSDN,这两个是等价的:
 n /= digits.Length;

并且

 n = n/digits.Length;

类似于更常见的:

n+=1;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接