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

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
如果我想獲得一個基于 一或 更多財產?
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貢獻1851條經驗 獲得超3個贊
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 關注
- 509 瀏覽
添加回答
舉報
0/150
提交
取消