【问题标题】:Why am I getting "Invalid binary operator" warning when using modulus?为什么在使用模数时会收到“无效的二元运算符”警告?
【发布时间】:2017-08-29 18:17:07
【问题描述】:

我正在 Visual Studio for Mac 中开发 Xamarin Forms 应用。我注意到,当我使用模数运算符 (%) 时,我收到一条警告说“无效的二元运算符”,如下图所示:

maximumstep 变量是双精度的。

尽管如此,x 的值在此行之后正确计算。

我的问题是:这是什么意思,为什么我会收到此警告?

【问题讨论】:

  • 这是 C# 吗? C++ 会为您提供双精度模数的错误。
  • 最大值和步长的类型有哪些?
  • 这似乎是由github.com/mono/debugger-libs/blob/master/Mono.Debugging/… 生成的,我相信这可能是Xamarin 中的一个错误,也许吧?
  • @pm100 maximumstep 是双打。
  • @Amy,是的,这似乎是一个错误......

标签: c#


【解决方案1】:

小警告似乎有误。在 VS2015 中做同样的事情时,我没有收到这样的警告。在 C# 中,模数在所有数字类型上都已定义且有效。见https://msdn.microsoft.com/en-us/library/h6zfzfy7(v=vs.100).aspx

【讨论】:

    【解决方案2】:

    什么意思

    什么都没有。这是不正确的。 .Net 支持双精度模数。

    为什么我会收到此警告?

    这似乎是 Xamarin 中的一个缺陷。我会考虑向他们开一张票,以征求开发团队的反馈。

    https://github.com/mono/debugger-libs/blob/master/Mono.Debugging/Mono.Debugging.Evaluation/NRefactoryExpressionEvaluatorVisitor.cs#L144

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多