Jestem w procesie nauczania sobie C# poprzez przekształcenie istniejącego projektu i jestem przebijał konwersji następujący kod VB linq:Konwersja VB Linq do C#
Dim outStuff = From tt In (From t In Products.SelectMany(Function(p) If(p.tags IsNot Nothing, p.tags, New ObservableCollection(Of TagModel)))
Group By tagName = t.name,
v = (Aggregate p In Products Where If(p.tags IsNot Nothing, p.tags.Contains(t), Nothing) Into Sum(p.views)),
nl = (Aggregate p In Products Where If(p.tags IsNot Nothing, p.tags.Contains(t), Nothing) Into Sum(p.num_likes))
Into g = Group, Count())
Group By name = tt.tagName Into Count = Sum(tt.Count), viewsTotal = Sum(tt.v), num_likesTotal = Sum(tt.nl)
Select name, Count, viewsTotal, num_likesTotal
gdzie Products As ObservableCollection(Of ProductModel)
Mam mananged Aby przekonwertować tak dużo do tej pory:
var x = Products.SelectMany(p => (p.tags != null) ? p.tags : new ObservableCollection<TagModel>());
var tags = from t in x group t by t.name into g select new { tagname=g.First().name};
The 'Group By's ma mnie zakłopotany. Każda pomoc będzie wielki ...
Jeśli to pomoże każdemu, oto projekt, do którego należy kod, który próbuję przekonwertować i dodać do strony: http: // www .codeproject.com/KB/silverlight/ListDragDropSL.aspx – Graeme