0

请考虑以下代码:

var result = data
        .GroupBy(a => groupA.Contains(a.Group) ? "A" : 
                      groupB.Contains(a.Group) ? "B" : 
                      "N/a")
        .Select(a => new
        {
            KEY = a.Key,
            VALUE = a.Count()
        });

任何人都可以帮助如何转换GroupByLINQ版本?

谢谢


编辑 1)

我想要这种风格:

from a in ....
group a by ....
select ...
4

2 回答 2

2

你可以尝试这样的想法,但如果它有效,我会坚持你所拥有的

 var result=   from p in data
    group p by new 
   { Criterion = p.Contains(p.Group) ? "A" : p.Contains(p.Group) ? "B" : "N/a" } 
    into g  select new {KEY = g.Key, VALUE = g.Count()};
于 2012-11-08T05:26:34.770 回答
1

试试这个,

        var result = from a in data
                     group a by groupA.Contains(a.Group)
                                    ? "A"
                                    : groupB.Contains(a.Group)
                                          ? "B"
                                          : "N/a"
                     into d
                     select new
                                {
                                    KEY = d.Key,
                                    VALUE = d.Count()
                                };
于 2012-11-08T05:36:55.510 回答