2013-12-20 25 views
0

我的結構。例如:查找不同的數據集列表中的

struct DataSet 
{ 
    string a, 
    string b , 
    string c, 
    string d 
} 

而且我有數據集列表,例如:List<DataSet> DataSets = new List<DataSet>();

我想找到一個列表忽略字符串不同的數據集c

例如

如果非要在數據集1具有:(a = 1,B = 2,C = 3, d = 4)和DataSet2具有(a = 1,B = 2的列表的兩個數據集,c = 13, d = 4)

由於我的結果我應該只有一個DataSet值,忽略任何c持有。所以我的結果是DataSet1(a = 1,b = 2,c = 3,d = 4)或DatsSet2(a = 1,b = 2,c = 13,d = 4),但不是兩者。

任何想法?

+1

更新與到目前爲止你已經得到了實際的代碼你的問題。 '新的List()'不會自動給你一個'DataSet'的列表。 –

+1

@GrantWinney如果你指的是沒有一般性論證的事實,它在那裏,但是當它發佈到SO時他沒有編碼逃脫。如果你指的是他沒有顯示它是如何填充的,那並不重要...... – Servy

+0

@GrantWinney感謝您的回覆。代碼屬於公司,因此我無法在此發佈。 – user2200031

回答

3

只需使用GroupBy和組對你所關心的三列:

var query = list.GroupBy(data => new{data.a, data.b, data.d}) 
    .Select(group => group.First())//just choose one from the group 
+0

感謝您的快速響應。我會嘗試並儘快發佈我的結果。 – user2200031