2011-05-14 63 views
2

我有一个艰难的时间使用Google搜索/= ...任何人都可以告诉我这段代码做什么?在C#中,/ =是什么意思?

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

我的意图是确定这个操作的其余部分是什么......所以我知道何时停止或继续前进。

+2

http://en.wikibooks.org/wiki/C_Sharp_Programming/Operators#Short-hand_Assignment – photoionized

+0

感谢您的帮助。我可以在11分钟内接受一个答案.. – LamonteCristo

回答

0

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

只是分工。

1

x /= y表示set x equal to (in this case the integral part of) 'x divided by y'/是分部操作员。

0

MSDN,这两者是等价的:

n /= digits.Length; 

n = n/digits.Length; 

以较常见的类似:

n+=1; 
0

/=是一个除法运算符。

x /= y ; 

是同样的事情,他说:

x = x/y ; 
3

什么已经张贴在不同的答案我想补充到,一个复合赋值操作符$=(与二进制运算符代替$)是相似转换为右侧使用的二元运算符的赋值。区别在于左侧仅评估一次。所以:

x $= y 

x只评估一次。

x = x $ y 

x被评估两次。

不太可能在实践中有所作为。

+0

如果您说:DoHeavyWorkCauseSideEffectsAndReturnObject()。MyIntProperty/= 100;',那么它可能与DoHeavyWorkCauseSideEffectsAndReturnObject()相比有所不同。 '。但大多数情况下,你把它分成两个陈述,所以你是对的,没有实际的区别。 –