2010-08-25 178 views
3

哇......我從未見過這個。任何方式來解決它?運算符'<'不能應用於'bool'和'double'類型的操作數

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

獎金搭載的問題:哪些語言其實也允許這樣做? – anthony 2010-08-25 02:20:52

+0

@anthony:Python的確如此。 – 2010-08-25 02:21:32

+1

我真誠地希望你不要像生產代碼那樣格式化你的大括號。 – siride 2010-08-25 02:22:53

回答

11

你有效地做這個

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

由於(-8.0 < R)計算結果爲布爾,你不能把它比作一個浮動。做到這一點,而不是:

if (-8.0 < r && r < -7.0) { 
    //code here 
} 
5
if (-8.0 < r && r < -7.0) 
1
foreach(double r in portfolioReturns) 
{ 
    if(-8.0 < r && r < -7.0) 
      n8++; 
} 
3

讓我猜猜,你是從蟒蛇來了嗎?這是我知道的唯一的語言工作:-)

看在(-8.0 < r < -7.0),第一,-8.0 < r得到評估,這是真的。真-7.0 barfs。

3

你也可以使用LINQ,除了修復每個人如此迅速地提供

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