运算符'<'不能应用于'bool'和'double'类型的操作数
问题描述:
哇......我从未见过这个。任何方式来解决它?运算符'<'不能应用于'bool'和'double'类型的操作数
foreach(double r in portfolioReturns)
{
if (-8.0 < r < -7.0)
{
n8++;
}}
答
你有效地做这个
if ((-8.0 < r) < -7.0)
由于(-8.0 < R)计算结果为布尔,你不能把它比作一个浮动。做到这一点,而不是:
if (-8.0 < r && r < -7.0) {
//code here
}
答
if (-8.0 < r && r < -7.0)
答
foreach(double r in portfolioReturns)
{
if(-8.0 < r && r < -7.0)
n8++;
}
答
让我猜猜,你是从蟒蛇来了吗?这是我知道的唯一的语言工作:-)
看在(-8.0 < r < -7.0)
,第一,-8.0 < r得到评估,这是真的。真-7.0 barfs。
答
你也可以使用LINQ,除了修复每个人如此迅速地提供
n8 += portfolioReturns.Count(r => -8.0 < r && r < -7.0);
奖金搭载的问题:哪些语言其实也允许这样做? – anthony 2010-08-25 02:20:52
@anthony:Python的确如此。 – 2010-08-25 02:21:32
我真诚地希望你不要像生产代码那样格式化你的大括号。 – siride 2010-08-25 02:22:53