Я пытаюсь написать запрос linq to object в vb.net, вот версия 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;
}
Мне трудно работать с группой по синтаксису, который не совпадает (vb требуют 'идентификатор = выражение' в некоторых местах, а также с функтором суммирования с 'выражение требуется')
Большое спасибо за вашу помощь!