0

double型の値のグループを合計したいのですが、次のような実行時例外が発生しました:resultSet.Sum(d => d.Data)という行Objectの型である必要があります。Int32

for (int i = 1; i <= 7; ++i) {
    double sum = 0;
    DateTime timeSpot1 = fromDate.AddDays(i - 1);
    DateTime timeSpot2 = fromDate.AddDays(i);

    var resultSet = distributionDatePoint
                       .Where(d = > 
                                   d.Datetime.Day.CompareTo(timeSpot1) > 0 
                                && d.Datetime.Day.CompareTo(timeSpot2) < 0);
    if (resultSet != null) {
        sum = resultSet.Sum(d = > d.Data);
    }

    if (sum > 0) {
        chartData += sum.ToString("0.00");
    }
    else {
        chartData += "0,";
    }
}​

d.Dataダブルタイプです。そして、私Sum()はこのように使用しようとしました

resultSet.Sum<Double>(d => d.Data);

しかし、エラーは残ります。

誰かがこれについて私を助けることができますか?30分立ち往生してから……

ヘルプ~~~~

4

1 に答える 1

0

あなたの問題はここにあります

var resultSet = distributionDatePoint 
                       .Where(d = >  
                                   d.Datetime.Day.CompareTo(timeSpot1) > 0  
                                && d.Datetime.Day.CompareTo(timeSpot2) < 0);

Int32 を DateTime オブジェクトと比較しています。

次のようなことをする必要があります

var resultSet = distributionDatePoint 
                       .Where(d = >  
                                   d.Datetime.Day.CompareTo(timeSpot1.Day) > 0  
                                && d.Datetime.Day.CompareTo(timeSpot2.Day) < 0);
于 2012-07-18T04:46:37.530 に答える