【问题标题】:Sum Result in List RoundResult in List HomPlayerResult列表 HomPlayerResult 中的列表 RoundResult 中的总和结果
【发布时间】:2017-11-07 07:15:24
【问题描述】:

您好,我不想在HomPlayerResult.RoundResults.Result 列表中获得结果的总和

对于每个 HomePlayerResult,都有一个 RoundResult 列表,其中 Table 为 1、2、3 或 4。

var H1R1 = matchResult.HomePlayerResults.ToList().ForEach(y => y.RoundResults.ToList().ForEach(z => z.Round == 1 && z.Table == 1));

但我得到错误:

只有赋值、调用、递增、递减、等待和新建对象 表达式可以用作语句

【问题讨论】:

  • 避免...ToList().ForEach。这通常是一种代码气味
  • 删除 var H1R1 = 并重试。
  • 我不是很清楚,但是你在找这个吗?:matchResult.HomePlayerResults.SelectMany(y => y.RoundResults).Count(z => z.Round == 1 && z.Table == 1)
  • 您要计算的内容 - z.Round 的总和或 z.Table 的总和?
  • 在每个 RoundResult 中都有 z.Result 所以。当 HomeTeamPlayer 列表中的玩家在第一轮和表 1 中取得成绩时,我不想要 z.Result 的总和。

标签: c# list arraylist foreach


【解决方案1】:

我不明白您在代码中做了什么,但我相信您希望通过在第 1 轮和第 1 表中过滤所有结果来获得所有结果的总和:

var H1R1 = matchResult.HomePlayerResults.Where(r => z.Round == 1 && z.Table == 1).Select(z => z.RoundResults).Sum();
  1. 其中条件是按第 1 轮和第 1 表过滤列表
  2. 接下来,我从过滤后的列表中选择了轮次结果并进行了汇总

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2012-10-31
    相关资源
    最近更新 更多