C# 将Lambda表达式组按转换为LINQ版本 请考虑此代码: 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() });
任何人都可以帮助将C# 将Lambda表达式组按转换为LINQ版本 请考虑此代码: 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() });,c#,.net,linq,C#,.net,Linq,任何人都可以帮助将GroupBy转换为LINQ版本吗 谢谢 编辑1) 我想要这种款式: from a in .... group a by .... select ... 你可以尝试这样的想法,但如果可行的话,我会坚持你的想法 var result= from p in data group p by new { Criterion = p.Contains(p.Group) ? "A" : p.Contains(p.Group) ? "B" : "N/a" }
GroupBy
转换为LINQ
版本吗
谢谢
编辑1) 我想要这种款式:
from a in ....
group a by ....
select ...
你可以尝试这样的想法,但如果可行的话,我会坚持你的想法
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()};
你可以尝试这样的想法,但如果可行的话,我会坚持你的想法
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()};
试试这个
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()
};
试试这个
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()
};
sry不明白。它不是linq了吗?你的意思是“查询表达式”吗?如果是这样的话,就去找林帕德去巴纳纳吧。你应该坚持流畅的风格,因为它使你的代码看起来更好。我用旧风格写我项目中的所有查询,我想知道用旧风格查询的等价物。请在我的第一条评论中看到我的建议。你不会不高兴的,答应我:Dsry不明白。这不是linq吗?你的意思是“查询表达式”吗?如果是这样的话,就去找林帕德去巴纳纳吧。你应该坚持流畅的风格,因为它使你的代码看起来更好。我用旧风格写我项目中的所有查询,我想知道用旧风格查询的等价物。请在我的第一条评论中看到我的建议。你不会不高兴的,承诺:谢谢。还有一个小问题。在第一个
Lambda表达式中,当我使用KEY=g.KEY
并将我的查询绑定到gridview时,它会显示A
和B
,但在你的代码中,当我将结果绑定到gridview时,它不会显示KEY。我如何在不使用KEYA=g.KEY.A的情况下显示该列,KEYB=g.Key.B
。我只想要一列,谢谢。还有一个小问题。在第一个Lambda表达式中
query当我使用Key=g.Key
并将我的查询绑定到gridview时,它会显示A
和B
,但在你的代码中,当我将结果绑定到gridview时,它不会显示Key。我如何在没有关键字的情况下显示该列使用KEYA=g.Key.A,KEYB=g.Key.B
。我只需要一列