Re: [問題] 使用.Compute("max( )")出現詭異結果
推文有說該欄型別是string,
所以 Max 是字串排序結果,不是數字比較結果
以第一個列子來說:
"6102" 跟 "940" 的比較,
第一個字是 '6' < '9',所以 "6102" < "940"
"9999" 跟 "940" 的比較,
第一個字是 '9' = '9' 然後
第二個字是 '9' > '4' 所以 "9999" > "940"
所以你要先將該欄位轉型為數字再比較,
如果你的.net 版本是3.5以上的話,可以使用LINQ:
int maxLevel = flow.AsEnumerable().Max(dt => Convert.ToInt32(dt["VOL"]));
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.134.7
推
09/08 12:29, , 1F
09/08 12:29, 1F
→
09/08 12:30, , 2F
09/08 12:30, 2F
→
09/10 00:52, , 3F
09/10 00:52, 3F
→
09/11 21:10, , 4F
09/11 21:10, 4F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章