我有一个包含四列和一些数据行的简单数据表:
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查询获取“数据行列表”:
var AllRowsAtPlanningDate = results.AsEnumerable()
.Where(x => ((x.Field<DateTime>("Date") == PlanningDate))).ToList();
我想在wellbore
的“AllRowsAtPlanningDate
”列中获得“不同”值。我只想要List<string>
而不是list<datarows>
。
怎么做?我一直在检查这里的一些例子,但无济于事。
答案 0 :(得分:5)
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();