【发布时间】:2010-03-14 10:43:14
【问题描述】:
我正在尝试在 vb.net 中编写一个 linq 到对象查询,这是我想要实现的 c# 版本(我在 linqpad 中运行它):
void Main()
{
var items = GetArray(
new {a="a",b="a",c=1}
, new {a="a",b="a",c=2}
, new {a="a",b="b",c=1}
);
(
from i in items
group i by new {i.a, i.b} into g
let p = new{ k = g, v = g.Sum((i)=>i.c)}
where p.v > 1
select p
).Dump();
}
// because vb.net doesn't support anonymous type array initializer, it will ease the translation
T[] GetArray<T>(params T[] values){
return values;
}
我很难使用不一样的 group by 语法(vb 在某些地方需要 'identifier = expression',以及带有 'expression required' 的求和函子)
非常感谢您的帮助!
【问题讨论】:
标签: vb.net linq c#-to-vb.net