我正在努力解決基本問題。我正在嘗試比較 SelectedListItem 的兩個串列。我想知道這兩個串列是否具有相同的值。
假設我們有
List<SelectedListItem> listA, listB
我已經嘗試了很多方法,例如:
new HashSet<SelectListItem>( listA ).SetEquals( listB );
或者
var firstNotSecond = listA .Except( listB ).ToList();
var secondNotFirst = listB .Except( listA ).ToList();
或者
listA.Contains(listB[i])
甚至簡單
listA==listB
我仍然得到錯誤的輸出,但我 100% 確定這些值是相同的,因為一個串列是從第二個串列創建的。
有沒有一種簡單的方法來比較他們的專案?
非常感謝
編輯
背景關系:我從一個資料庫創建了一個 listA 并將其放入另一個空資料庫中。現在我將第二個資料庫中的所有資料下載為 listB 并嘗試檢查資料是否已更改
uj5u.com熱心網友回復:
您必須比較值以比較參考將不起作用,因此可以撰寫一個小的幫助方法來檢查兩個 SelectedListItems 是否具有相同的值并檢查兩個串列是否具有相同的專案。
如果你想以漂亮的方式來做,你可以例如實作IEqualityComparer<T>SelectedListItem 類的介面
如果它是一個快速而骯臟的單次檢查并且表的大小不是那么大,您也可以將其序列化并直接比較輸出
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/367390.html
標籤:C# asp.net-mvc 列表 相比
