在数据表中查找最接近我的参数的行

时间:2011-11-03 16:14:28

标签: c# linq

我有一个数据表,我想找到TRK_Distance值最接近的行并返回它。我尝试了这个,它抛出了一个异常,它无法找到列ABS(TRK_Distance - 1600)(1600是我传入的值,以便输入)

var tempRow = data.Select("*", "ABS(TRK_Distance - " + entry+ ")")[0];

我怎样才能做到这一点?还有比我现在这样做更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我认为你可以用linq做到这一点:

  var closest = data.Select().
    OrderBy(dr => Math.Abs((int)dr["TRK_Distance"] - 1600)).
    FirstOrDefault();