【问题标题】:LINQ returns arrays, not a collection of list objectLINQ 返回数组,而不是列表对象的集合
【发布时间】:2013-07-04 17:48:51
【问题描述】:

我希望 Linq 返回一个数组。 为了绘制图表。

这是我的代码

var orders = _uow.Orders.GetAll()
            .Where(x => x.Created > baselineDate)
            .GroupBy(x => x.Created.Day)
            .Select(c => new {Day = c.Key, Total = c.Sum(t => t.Total)})
            .ToList();

现在它返回这个

[{"Day":3,"Total":9999.00},{"Day":4,"Total":9999.00},{"Day":5,"Total":9999.00}]

但我想要

的结果
{"Day":[3,4,5], "Total":[9999, 9999, 9999]}

这个结果更容易绘制图表。

谢谢大家

【问题讨论】:

    标签: c# arrays linq list


    【解决方案1】:
    var groups = _uow.Orders.GetAll()
                .Where(x => x.Created > baselineDate)
                .GroupBy(x => x.Created.Day);
    
    var orders = new {
        Day = groups.Select(g => g.Key).ToArray(),
        Total = groups.Select(g => g.Sum(t => t.Toal)).ToArray()
    };
    

    【讨论】:

    【解决方案2】:

    我没试过,但可能是这样的:

    Orders[] orders = (your query).ToArray();
    

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2015-04-30
      • 2020-04-11
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多