Linq基于另一个列值查询唯一的i'd集合

时间:2018-06-04 20:38:16

标签: c# linq linq-to-sql linq-to-xml

我有一个集合(数据表包含三列A,B& C WHICH具有不同的值)。我需要一个基于不同列'A'和'C'列AS优先级

的唯一集合
1st priority -  completed
2nd priority - business 
3rd priority - System

如果发现一个优先级需要忽略剩下的两个

Input Collection

Required Collection

1 个答案:

答案 0 :(得分:1)

List<String> orderBy = new List<String> { "Completed", "Business", "System" };

dt = dt.AsEnumerable()
       .GroupBy(r => new {A = r["A"], C = r["C"]})
       .Select(g => g.OrderBy(r => orderBy.indexOf(r["C"]).First()))
       .CopyToDataTable();