我有一个结构例如:
struct DataSet
{
string a,
string b ,
string c,
string d
}
我有一个数据集列表,例如:List<DataSet> DataSets = new List<DataSet>();
我想在列表中找到不同的数据集,忽略字符串c
。
E.g
如果我在DataSet1具有的列表中有两个DataSet(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),但不是两者。
任何想法?
答案 0 :(得分:3)
只需使用GroupBy
并对您关注的三个列进行分组:
var query = list.GroupBy(data => new{data.a, data.b, data.d})
.Select(group => group.First())//just choose one from the group