我有人对象和人有属性组,使他们属于不同的群体。 我想获取列表并将其放置在一个对象中的GrouppedPeople,其中将有List coll。一个coll元素只包含属于同一组的人员。linq对象分组
所以,如果我有3人:
List<People>(){new People{Name="Test", Group = "Group1"},
new People{Name="SameGroup", Group = "Group1"},
new People{Name="Other", Group = "OtherGroup"}}
我需要有2个GrouppedPeople的集合。首先包含Test和SameGroup,第二个包含Other(由Group属性分组)。我试图用linq做到这一点。
我需要结果为List类型。 GrouppedPeople是只有一个类型为List的属性的类,所有的元素都来自同一个组。
伊夫想出了这样的事情:
from oneGroup in mates
group oneGroup by oneGroup.pGroupName into g
select g;
其工作正常,但结果对象不是强类型。并且Id喜欢将List作为结果。有没有办法从该匿名对象类型中获取它?任何其他方式来获得这一切与linq和保持强大的打字?
你不会失去强打字。匿名类型与名义类型一样强类型。他们只是没有名字,就是这样。 – 2011-05-10 11:31:53
你想要什么类型的列表?据我所见,您必须在现有代码中拥有IEnumerable>。 –
Egor4eg
2011-05-10 11:34:30
我想List。 GrouppedPeople是一个包含List 的对象。 –
2011-05-10 13:08:27