【发布时间】:2022-01-03 20:08:03
【问题描述】:
我正在努力解决基本问题。我正在尝试比较两个 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 并尝试检查数据是否已更改
【问题讨论】:
-
如果一个列表是从另一个列表中创建的,那么它们是否只有在它们的项目数相同时才相等?或者您是说一个列表可能是 A、B、C、D,而另一个可能是 A、A、A、D.. 了解上下文会更有帮助
-
是的,这可能是真的,但是在某个随机时间,一个列表可以改变它的一些内部值,因此计数是不够的
-
告诉我们关于重复的事情......如果这些其他随机更改的列表项不是来自其他列表,那么这些项目来自哪里
-
我在描述中添加了一个 EDIT :)
-
什么是 SelectedListItem?
标签: c# asp.net-mvc list compare