public class Budget
{
public string SeasonNo { get; set; }
public string SeasonName { get; set; }
public string typeProductCd { get; set; }
public string typeProductDescription { get; set; }
public Decimal UsdBudgetRetail { get; set; }
}
List<Budget> list1
List<Budget> list2
List<Budget> ListUngrouped =
list1.Concat(list2).ToList();
List<Budget> listGrouped = ListUngrouped
.GroupBy(x => new { x.SeasonNo, x.typeProductCd })
.Select(group => new { group.Key, UsdBudgetRetail = group.Sum(x => x.UsdActualRetail) })
.Cast<BudgetAndActualLineInfoBySeasonDto>()
.ToList();
答えて
達成しようとしていることは非常に不明です。
Budget
をUsdActualRetail
の定義が含まれていません:それは今それが対処する必要があります立っているとしてここにあなたのコードを持ついくつかの問題があります。List<BudgetAndActualLineInfoBySeasonDto>
は、List<Budget>
にキャストできません。group
オブジェクトは、暗黙的にBudgetAndActualLineInfoBySeasonDto
にキャストできません。- 私は既に
BUDGET
、concat
、およびtoList
のスペルミスを修正しました。 - グループ化を機能させるには、GroupByオブジェクトの等価比較のためのカスタム実装を提供する必要があります。
あなたは、このコードが動作すると、他の不足しているクラスの定義が何であるかする方法についての推測を教育を受けた野生の束を作り、ここにある(LinqPad対応)complete working code sampleグループ化された値との合計を示し、
void Main()
{
List<Budget> list1 = new List<Budget>() {
new Budget { SeasonNo = "1", SeasonName = "Test 1", typeProductCd = "3", UsdActualRetail = 1.01m },
new Budget { SeasonNo = "1", SeasonName = "Test 2", typeProductCd = "3", UsdActualRetail = 1.01m },
new Budget { SeasonNo = "1", SeasonName = "Test 3", typeProductCd = "3", UsdActualRetail = 1.01m },
new Budget { SeasonNo = "1", SeasonName = "Test 4", typeProductCd = "3", UsdActualRetail = 1.01m },
};
List<Budget> list2 = new List<Budget>() {
new Budget { SeasonNo = "2", SeasonName = "Test 5", typeProductCd = "4", UsdActualRetail = 1.02m },
new Budget { SeasonNo = "2", SeasonName = "Test 6", typeProductCd = "4", UsdActualRetail = 1.02m },
new Budget { SeasonNo = "2", SeasonName = "Test 7", typeProductCd = "4", UsdActualRetail = 1.02m },
};
List<Budget> listUngrouped = list1.Concat(list2).ToList();
List<BudgetAndActualLineInfoBySeasonDto> listGrouped =
listUngrouped
.GroupBy(x => new SeasonDto { SeasonNo = x.SeasonNo, typeProductCd = x.typeProductCd })
.Select(group => new BudgetAndActualLineInfoBySeasonDto {
SeasonDto = group.Key,
UsdBudgetRetail = group.Sum(x => x.UsdActualRetail)
})
.Cast<BudgetAndActualLineInfoBySeasonDto>()
.ToList();
Console.WriteLine(listGrouped);
}
// Define other methods and classes here
public class SeasonDto
{
public string SeasonNo { get; set; }
public string typeProductCd { get; set; }
public override bool Equals(object other)
{
SeasonDto otherS = other as SeasonDto;
if (otherS != null)
{
return this.SeasonNo.Equals(otherS.SeasonNo) &&
this.typeProductCd.Equals(otherS.typeProductCd);
}
else
{
return false;
}
}
public override int GetHashCode()
{
return SeasonNo.GetHashCode() + typeProductCd.GetHashCode();
}
}
public class BudgetAndActualLineInfoBySeasonDto
{
public SeasonDto SeasonDto { get; set; }
public decimal UsdBudgetRetail { get; set; }
}
public class Budget
{
public string SeasonNo { get; set; }
public string SeasonName { get; set; }
public string typeProductCd { get; set; }
public string typeProductDescription { get; set; }
public Decimal UsdActualRetail { get; set; }
}
これは役立ちます。質問をかなり改善できれば、より良いお手伝いをすることができます。
あなたの返事のためにこんにちは感謝、私は属性のsomemエラーがええ、私は主なアイデアを説明するでしょう。私は予算の複数のリストを持っています、私はあなたの返信のためにこんにちは感謝、私は属性のsomemエラーがありますが、私は主なアイデアを説明するだろう – user847236
私は複数の予算リストを持っていますが、まずtypeProductCDよりもシーズンごとにグループ化し、同じUsdActualRetailを共有しているUSDActual retailの合計を作成します。私は結果として新しいリストを期待しているので、レポートに表示するためにそれを管理することができます。BudgetAndActualLineInfoBySeasonDtoはありません。予算(私のdto)とUsdBudgetRetailはUsdActualRetailです – user847236
- 1. グループ別一覧<Item>
- 2. コピー一覧他に<SomeClass>が、LINQ
- 3. 充填一覧は<タプルLINQ
- 4. Python辞書一覧[int:tuple] Sum
- 5. Mongoのグループ別SUM
- 6. 一覧LINQの
- 7. リスト一覧<?
- 8. Linq順、グループ別、各グループ順?
- 9. LINQクエリ列挙体一覧
- 10. LINQの集計や一覧
- 11. (私の)LINQの一覧は
- 12. LINQの一覧<T>からのDataGridView
- 13. 一覧<T>
- 14. 一覧<Type>
- 15. C#一覧<>
- 16. 一覧<SelectListItem>()()
- 17. 一覧<XElement>と一覧<String>
- 18. 単一LINQ to SQLクエリのSUMとCOUNT
- 19. は別一覧で
- 20. Linq dynamic Sum
- 21. LINQ SUM、AVERAGE
- 22. オブジェクトのLinq SUM?
- 23. プロパティのパフォーマンス別Linqグループ
- 24. 一覧<string>は、C#
- 25. C#一覧<>インデックスが
- 26. HtmlEncode一覧<string>値
- 27. フラグメントレイアウト一覧<-->詳細
- 28. エンティティフレームワークLinq、左結合とSUMとCountを持つグループ
- 29. MySQL - get sum()グループのmax()グループ
- 30. デシリアライズ一覧<string><object>
あなたの質問は何ですか?助けが必要な場合は、必要なものを明確にしたいかもしれません。 – Taryn
'UsdActualRetail'はどこに定義されていますか? 'BudgetAndActualLineInfoBySeasonDto'はどこに定義されていますか? 'list1'と' list2'はどのように設定されていますか? 'List'を 'List 'にキャストする方法は?あなたが得た行動は何ですか、そして期待された行動は何ですか?例外が発生した場合は、発生した例外メッセージと行番号を掲示してください。あなたは、あなたが持っている問題を示す*完全*、** working **のコードサンプルを提供できますか? –
mellamokb