如何在 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());
我正在从 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());