2017-05-08 52 views
0

我有一個名爲存儲的objectarray,一些對象的屬性(skuID)的是與其他一些存儲與不同的同一(storingID),如何讓我的arraydistinct這取決於他們(skuID)?如何從C#中的對象數組中獲取不同的值?

Storing(string storingID, skuID, storageID, price, expiry) 

我都試過,但它不工作:

List<storing> storingAll = (List<storing>)Session["storingAll"]; 
List<storing> displayedStoring = storingAll.Distinct().ToArray(); 
+3

http://stackoverflow.com/questions/489258/linqs-distinct-on-a-particular-property – Sweeper

+1

@Sahir可是你提出使用LINQ的答案嗎? – Rawling

回答

2
storingAll.GroupBy(x=>x.skuID).Select(group=>group.First()); 

注意,此解決方案不使用外部庫。由第一次出現skuID的簡單組。

參考: How to get a distinct list from a List of objects?

+0

它不使用額外的庫,但可能比使用MoreLINQ消耗更多的內存,因爲它需要建立組。它也是非流媒體:它必須讀取*所有元素,然後才能發射*任何*元素。 –

+0

同意。你得在這裏交易。 – Sahir

+0

這是包含您接受的答案的線程的副本。 – Sahir

相關問題