2012-08-28 19 views
2

我有一個數據集合,其中包含一個名爲Approvals的集合。 Approvals對象具有一個屬性調用ApplicationName。我想要一個所有不同批准申請名單的清單。所以如果我有Nick的應用名稱,尼克,傑克,丹尼爾的批准清單,我想退還Nick,Jack,Daniel的整個審批對象。或者至少只是一個名字尼克,傑克丹尼爾使用不同的內部對象屬性

這個心不是爲我工作的名單..

theApplicationNames = theData.Approvals.Select(c => new WebsiteApplicationInfo 
                { 
                 Name=c.ApplicationName, 
                 ID=c.ApplicationId 
                }).Distinct().ToList(); 
+0

有什麼不合適的?它會給你一個空的結果嗎?拋出一個例外?返回一切(包括重複)? – yoozer8

回答

1

如果你想在不同名稱的列表,你可以使用

var names = theData.Approvals.Select(a => a.ApplicationName).Distinct(); 

這將導致所有名稱(可能是字符串?)的列表。

您的版本「無法正常工作」的一個可能原因是您對WebsiteApplicationInfo對象的集合使用了.Distinct(),因此可能沒有實現正確的平等比較。但是,如果不知道你的意思是「沒有工作」,我們就不能確定。

+0

我想添加Distinct ApplicationName的ID並將其拋入到對象中。那是什麼WebsiteApplication信息 –

1
theData.Approvals.Select(a => a.ApplicationName).Distinct(); 
0

如果您投影一個屬性,您可以區分這一點。如果您投射的是匿名類型,您需要使用GroupBy技巧或創建一個傳遞給Distinct的自定義IComparer。您應該能夠使用以下搜索找到相當多的解決方案:https://stackoverflow.com/search?q=distinctby&submit=search

相關問題