不同列表<;string[]>;在c#中
本文关键字:gt string 列表 lt | 更新日期: 2023-09-27 17:59:19
我有一个字符串列表[]:
List<string[]> EIndex;
Eindex列表有4个string[]
INPUT: {0,John},{1,Mike},{2,John},{3,Tim}
Expected OUTPUT: {0,John},{1,Mike},{3,Tim}
我想根据string[]
的索引号1来区分数组,比如:
List<string[]> DistinctList = Eindex.Distinct(obj => obj[1]).ToList();
有什么建议吗?
Distinct
采用IEqualityComparer<T>
参数。您可以实现一个自定义比较器,将数组与第二个索引处的项相等:
public class SecondIndexComparer : IEqualityComparer<string[]>
{
public bool Equals(string[] x, string[] y)
{
return x[1] == y[1];
}
public int GetHashCode(string[] obj)
{
return obj[1].GetHashCode();
}
}
并像这样使用:
var distinctList = Eindex.Distinct(new SecondIndexComparer()).ToList();
请参阅此处的工作示例:https://dotnetfiddle.net/cpv1i7