我根据以下条件代码选择工作站
var NStations = stations.AsEnumerable()
.Where(r => r.Field<double>("Distance") < SP_Radius)
.OrderBy(r => r.Field<double>("Distance"))
.CopyToDataTable();
如果没有数据与第一个条件匹配,问题就出现了,我将得到错误停止程序。
如果没有检索到数据行,我怎样才能避免这个问题?
错误:
源不包含DataRows。
检查第一个条件,然后转到第二个条件,命令它给出上述错误。
答案 0 :(得分:3)
您可以将查询分为两部分:
var result = stations.AsEnumerable()
.Where(r => r.Field<double>("Distance") < SP_Radius);
if(result.Any())
{
var NStations = result.OrderBy(r => r.Field<double>("Distance"))
.CopyToDataTable();
}