sum演算子に問題があります。あなたが最も可能性が高い演算子&&はdouble型とbool型のオペランドには適用できません
var Total_money = List.Where(x => x.Type_of_room == Type).Sum(x => x.Cost);
sum演算子に問題があります。あなたが最も可能性が高い演算子&&はdouble型とbool型のオペランドには適用できません
var Total_money = List.Where(x => x.Type_of_room == Type).Sum(x => x.Cost);
式x.Cost
はdoubleを返し、x.Type_of_room == Type
はboolを返します。これらは両方とも&&
と比較することはできません。
たとえば、費用がかかるものを持っている場合は、x.Cost > 0
のようにコストをbool式にすることができます。
あなたはそのx.Type_of_room == Type
ものと総括原価を持っているしたい場合は、その結果.Sum(x => x.Cost)
続い.Where(x => x.Type_of_room == Type)
に式を分割する必要があります。
var totalMoney = List
.Where(x => x.Type_of_room == Type)
.Sum(x => x.Cost);
それは今の仕事です。その理由は、最初に条件付きリストを作成し、次にこのリスト内の情報を合計することです。それが正しいか? なぜ数え込みが多くの条件で使用され、最初にリストをフィルタリングする必要はないのですか?例:var Room = List.Count(x => x.Type_of_room == Type && x.Date_rent.Date = '15 ') –
合計は、述語式を取る際に集計式を取っています。 – Nkosi
あなたの費用を合計し、最初のフィルタ処理する必要がある
var Total_money = List.Sum(x => x.Cost && x.Type_of_room == Type);
だから私はメッセージ「演算子& &はタイプのオペランドに適用することができない、ダブル、ブール」しまったに
合計内のFuncは()になっています数値を返しますが、真または偽を返す場所のようにブール式として扱います。
これを克服する1つの方法は、クエリ構文で最初にクエリをフィルタ処理し、次にメソッド構文を使用して値の合計を取得することです。
var Total_money = (from x in List where x.Type_of_room == Type select x.Cost).Sum();
docsを読んだことがありますか? – Anton
'' x.Cost && x.Type_of_room == Type'はどういう意味ですか? – David
エラーメッセージについて理解していないのですか?問題が何であるかは非常に明白です。 – Servy