【问题标题】:What does /= mean in C#?/= 在 C# 中是什么意思?
【发布时间】:2011-08-25 08:04:31
【问题描述】:

我很难在谷歌上搜索/=...谁能告诉我这段代码的作用?

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

我的目的是确定此操作的剩余部分......所以我知道何时停止或继续。

【问题讨论】:

标签: c# syntax operators division


【解决方案1】:

这是除法赋值运算符运算符,意思是n = n/digits.Length

详情请见MSDN: /= Operator (C# Reference)

【讨论】:

    【解决方案2】:

    只是为了添加已在各种答案中发布的内容,复合赋值运算符 $=(将 $ 替换为二元运算符)类似于与使用的二元运算符的赋值在右侧。不同之处在于左侧只被评估一次。所以:

    x $= y
    

    x 只计算一次。

    x = x $ y
    

    x 被评估两次。

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

    【讨论】:

    • 如果您说:DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty /= 100;,那么与DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty = DoHeavyWorkCauseSideEffectsAndReturnObject().MyIntProperty / 100; 相比,它可能会有所不同。但大多数时候你把它分成两个陈述,所以你是对的,没有实际的区别。
    【解决方案3】:

    x /= y 表示set x equal to (in this case the integral part of) 'x divided by y'/ 是除法运算符。

    【讨论】:

      【解决方案4】:

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

      只是除法。

      【讨论】:

        【解决方案5】:

        根据MSDN,这两个是等价的:

         n /= digits.Length;
        

         n = n/digits.Length;
        

        类似于更常见的:

        n+=1;
        

        【讨论】:

          【解决方案6】:

          /= 是除法运算符。

          x /= y ;
          

          和说的一样:

          x = x / y ;
          

          【讨论】:

            猜你喜欢
            • 2013-03-09
            • 2011-07-07
            • 2016-12-08
            • 2016-04-19
            • 2015-04-11
            • 2012-04-25
            • 2016-04-03
            • 2011-11-26
            • 1970-01-01
            相关资源
            最近更新 更多