如何在 Linq 中通过 IEnumerable<IList<string>> 的列索引获取 Distinct()

How to get Distinct() by column index of IEnumerable<IList<string>> in Linq

我正在从 IEnumerable<IList<string>> distinct() 返回数据行值。我想获得列传递索引的列的 distinct() 值。我怎样才能得到这个。

    private void AddData(IEnumerable<IList<string>> dataList, IList<string> header)
    {
        try
        {
            int val = header.IndexOf("Package Code");
            //dataList = dataList.Select(x=>x.ToList().Distinct())
                // For the above I have to get distict recod data values 

            foreach (var row in dataList)
            {

            }
        }
        catch
        {
            throw new ArgumentException("Column Names  not matching");
        }
    }

如果您只想要单个列的不同值:

IEnumerable<IList<string>> dataList = ...;

int val = ...;
IEnumerable<string> distincts = dataList.Select(x => x[val]).Distinct();

不太清楚你想要什么...有些人经常要求某些字段的Distinct(),但返回整行...这是[的每个不同值的第一行=13=]

IEnumerable<IList<string>> distinctRows = dataList.GroupBy(x => x[val]).Select(x => x.First());