Linq在特定屬性上的DISTIVE()我正在玩LINQ來(lái)學(xué)習(xí)它,但是當(dāng)我沒(méi)有一個(gè)簡(jiǎn)單的列表時(shí),我想不出如何使用DISTION(一個(gè)簡(jiǎn)單的整數(shù)列表非常容易,這不是問(wèn)題)。如果我想用什么獨(dú)樹一幟的對(duì)象列表上一或更多對(duì)象的屬性?示例:如果對(duì)象是Person,有財(cái)產(chǎn)Id..我怎么才能讓所有的人Distinct對(duì)他們的財(cái)產(chǎn)Id那個(gè)物體?Person1: Id=1, Name="Test1"Person2: Id=1, Name="Test1"Person3: Id=2, Name="Test2"我怎么才能得到個(gè)人1和個(gè)人3呢?這有可能嗎?如果LINQ是不可能的,那么有一個(gè)列表的最好方法是Person取決于.NET 3.5中的某些屬性?
4 回答

蠱毒傳說(shuō)
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果我想獲得一個(gè)基于 一或 更多財(cái)產(chǎn)?
List<Person> distinctPeople = allPeople .GroupBy(p => p.PersonId) .Select(g => g.First()) .ToList();
List<Person> distinctPeople = allPeople .GroupBy(p => new {p.PersonId, p.FavoriteColor} ) .Select(g => g.First()) .ToList();

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
List<Person> pList = new List<Person>();/* Fill list */var result = pList.Where(p => p.Name != null).GroupBy(p => p.Id).Select(grp => grp.FirstOrDefault());
where
groupby
select
- 4 回答
- 0 關(guān)注
- 510 瀏覽
添加回答
舉報(bào)
0/150
提交
取消