我有一個數據表,我想查找具有最接近TRK_Distance值的行並將其返回。我想這和它拋出一個異常,它無法找到列ABS(TRK_Distance - 1600)(1600是我的價值,我傳遞的條目)查找最接近我的參數的數據表中的行
var tempRow = data.Select("*", "ABS(TRK_Distance - " + entry+ ")")[0];
我怎樣才能做到這一點?有沒有更好的方法去做,而不是現在我怎麼做?
我有一個數據表,我想查找具有最接近TRK_Distance值的行並將其返回。我想這和它拋出一個異常,它無法找到列ABS(TRK_Distance - 1600)(1600是我的價值,我傳遞的條目)查找最接近我的參數的數據表中的行
var tempRow = data.Select("*", "ABS(TRK_Distance - " + entry+ ")")[0];
我怎樣才能做到這一點?有沒有更好的方法去做,而不是現在我怎麼做?
我認爲你可以使用LINQ做到這一點:
var closest = data.Select().
OrderBy(dr => Math.Abs((int)dr["TRK_Distance"] - 1600)).
FirstOrDefault();
的Linq不能使用ABS。您需要手動執行或在dbms上執行查詢。 – Polynomial
有沒有辦法使用linq獲得最接近的值?也就是說,我可以用不同的方式來制定這個結果並得到我想要的結果嗎 – PlTaylor
不是我所知道的。你很可能不得不使用循環。 – Polynomial