看板 C_Sharp 關於我們 聯絡資訊
各位前輩好,最近碰到一個問題 目前有兩個Datatable使用Linq比對之後 將傳回的值存入第三個Datatable 使用的是MSDN上這段範例 https://msdn.microsoft.com/zh-tw/library/bb669119(v=vs.110).aspx 不過用了範例中的Except方法去做比對,例如下面這段code var contacts = contacts1.AsEnumerable().Except(contacts2.AsEnumerable(), DataRowComparer.Default); 卻一直只得到contacts1傳回的值 而設中斷點檢查,contact1和contact2的值都是正確的 不知道是否語法須修正還是程式哪部分須修正呢?Orz 還請各位前輩指點一下迷津 感謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.159.206 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1458974177.A.617.html
a926: 稍微看了一下他的方法應該是用hash做比較 03/28 09:30
a926: 你有提到你用兩個Datatable 03/28 09:31
a926: Except要比的話最好是兩個Table欄位順序跟欄位型態都一樣 03/28 09:31
a926: 你check看看是不是順序錯了or型態錯了 03/28 09:32
moonevil: 順序跟型態和名稱都一樣..我再去看看hash部分好了 03/28 22:49
moonevil: 感謝a大 03/28 22:49