亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linq在特定屬性上的DISTIVE()

Linq在特定屬性上的DISTIVE()

LEATH 2019-06-01 10:26:58
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();


查看完整回答
反對 回復 2019-06-01
?
皈依舞

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幫助您過濾條目(可能更復雜)和groupbyselect執行不同的功能。


查看完整回答
反對 回復 2019-06-01
  • 4 回答
  • 0 關注
  • 509 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號