获取一组数据行中的不同列值 - Data Table Linq C#
Get distinct column values in a set of datarows - Data Table Linq C#
我有一个包含四列和一些数据行的简单数据表:
DataTable results = new DataTable();
results.Columns.Add("Wellbore", typeof(string));
results.Columns.Add("Date", typeof(DateTime));
results.Columns.Add("WB", typeof(string));
results.Columns.Add("factor", typeof(double));
当 "date=1/1/2017" 为:
时,我使用 Linq 查询得到 "list of data rows"
var AllRowsAtPlanningDate = results.AsEnumerable()
.Where(x => ((x.Field<DateTime>("Date") == PlanningDate))).ToList();
我想在 AllRowsAtPlanningDate
的“wellbore
”列中获得 "distinct" 值。我只想要 List<string>
而不是 list<datarows>
。
怎么做?我一直在检查这里的一些示例,但无济于事。
var AllRowsAtPlanningDate = results.AsEnumerable()
.Where(r => r.Field<DateTime>("Date") == PlanningDate) // filter rows by date
.Select(r => r.Field<string>("Wellbore")) // select only wellbore string value
.Distinct() // take only unique items
.ToList();
我有一个包含四列和一些数据行的简单数据表:
DataTable results = new DataTable();
results.Columns.Add("Wellbore", typeof(string));
results.Columns.Add("Date", typeof(DateTime));
results.Columns.Add("WB", typeof(string));
results.Columns.Add("factor", typeof(double));
当 "date=1/1/2017" 为:
时,我使用 Linq 查询得到 "list of data rows"var AllRowsAtPlanningDate = results.AsEnumerable()
.Where(x => ((x.Field<DateTime>("Date") == PlanningDate))).ToList();
我想在 AllRowsAtPlanningDate
的“wellbore
”列中获得 "distinct" 值。我只想要 List<string>
而不是 list<datarows>
。
怎么做?我一直在检查这里的一些示例,但无济于事。
var AllRowsAtPlanningDate = results.AsEnumerable()
.Where(r => r.Field<DateTime>("Date") == PlanningDate) // filter rows by date
.Select(r => r.Field<string>("Wellbore")) // select only wellbore string value
.Distinct() // take only unique items
.ToList();