Попытка сделать что-то, что я уверен, должно быть простым, но бороться с linq и VB. У меня есть ниже, где я группирую коллекцию по собственному желанию, а затем хочу получить доступ к свойствам моей группы. У меня проблема с анонимной типизацией. Из-за опции strict я должен дать явный тип, но я не могу понять, какой тип должен быть. Ниже не компилируется, потому что t.HeadAccountKey не является значением (поскольку t имеет тип объекта). Так как мне нужно сделать некоторую отливку или мой селектор LINQ неправильно,Linq Группировка в VB.net с анонимными типами и параметром строго
public class TempObject
public HeadKey as string
Public SubKey as string
Public SomeValue as decimal
end class
public class GroupTest
public sub RunTest
dim collection new List(of TempObject) = GetTestCollection()
Dim groupedValues As IEnumerable = From n In collection _
Group By key = n.HeadKey Into Group Select HeadKeyValue = key, SubValues = Group
for each t as object in groupedValues
debug.print(t.HeadKeyValue)
next
End sub
private function GetTestCollection() as List(of TempObject)
dim result as new list(of tempobject)
Dim x As New tempObject
x.HeadAccountNumber = "A"
x.SubAccountNumber = "B"
x.Value = 500
result.Add(x)
x = New tempObject
x.HeadAccountNumber = "A"
x.SubAccountNumber = "C"
x.Value = 600
result.Add(x)
x = New tempObject
x.HeadAccountNumber = "B"
x.SubAccountNumber = "D"
x.Value = 100
result.add(x)
return result
end function
End class
Ах, конечно же, что делает трюк. благодаря – user1353548