【问题标题】:Operator '<' cannot be applied to operands of type 'bool' and 'double'运算符“<”不能应用于“bool”和“double”类型的操作数
【发布时间】:2011-04-03 12:12:40
【问题描述】:

哇...我以前从未见过这个。有什么办法可以解决吗?

foreach( double r in portfolioReturns)
        {
            if (-8.0 < r < -7.0)
            {
                n8++;
            }}

【问题讨论】:

  • 附加问题:实际上哪些语言允许这样做?
  • 我真诚地希望您不要像在生产代码中那样格式化大括号。
  • stackoverflow.com/questions/4090845/… 列出了一些具有类似支持的:Python、Perl 6、Mathematica、Scheme、BCPL、Icon。
  • CoffeeScript 也是。

标签: c# .net asp.net


【解决方案1】:

你正在有效地这样做

if ((-8.0 < r) < -7.0)

由于 (-8.0

if (-8.0 < r && r < -7.0) {
  //code here
}

【讨论】:

    【解决方案2】:
    if (-8.0 < r && r < -7.0)
    

    【讨论】:

      【解决方案3】:

      让我猜猜,你是从 python 来的?这是我所知道的唯一可行的语言:-)

      查看(-8.0 &lt; r &lt; -7.0),首先,-8.0

      【讨论】:

        【解决方案4】:

        除了每个人都这么快提供的修复之外,您还可以使用 LINQ

        n8 += portfolioReturns.Count(r => -8.0 < r && r < -7.0);
        

        【讨论】:

          【解决方案5】:
          foreach(double r in portfolioReturns)
          {
              if(-8.0 < r && r < -7.0)
                      n8++;
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-01-25
            • 2014-10-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-07-09
            相关资源
            最近更新 更多