You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#/WPF的If条件中调用LINQ查询(续问)

实现自定义输出的LINQ方案

嘿,很高兴你之前的分组统计需求已经搞定啦!当然可以根据你的需求调整输出格式——虽然你没把“如下输出”的具体样式写出来,但我可以结合你现有的结果举几个常见的自定义输出例子,帮你理清思路~

常见自定义需求示例

  • 合并相同平均值的行:如果想把同一Average对应的用户信息合并展示,可以用LINQ按Average分组,再将每组的详情聚合:

    // 假设原始数据集合名为scores
    var groupedByAverage = scores.GroupBy(s => s.Average)
                                 .Select(g => new 
                                 {
                                     Average = g.Key,
                                     UserDetails = g.Select(s => new { s.Name, s.Score, s.Star }).ToList()
                                 });
    

    在WPF中可以用嵌套控件展示,比如外层ItemsControl显示Average,内层用DataGrid列出每个用户的详情。

  • 按Star排序输出:如果想调整结果的排序顺序,比如按Star降序排列:

    var sortedResult = scores.OrderByDescending(s => s.Star).ToList();
    
  • 合并相同Score的用户:如果想把同一Score的用户姓名合并在同一行:

    var mergedByScore = scores.GroupBy(s => s.Score)
                             .Select(g => new 
                             {
                                 Names = string.Join(", ", g.Select(s => s.Name)),
                                 Score = g.Key,
                                 Average = g.First().Average,
                                 Stars = string.Join(", ", g.Select(s => s.Star))
                             });
    

    输出结果会类似:

    NamesScoreAverageStars
    John1553
    Hannah, Lilly134.31, 2

不管你想要的具体输出是什么样式,核心都是通过LINQ的分组、投影、排序等操作调整数据结构,再配合WPF的数据绑定和模板来呈现对应的UI效果。如果能补充一下你想要的具体输出样式,我还能给出更精准的代码方案哦~

内容的提问来源于stack exchange,提问作者Dr.Bake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:37:00