c#如何检查SelectedListItem的两个列表是否具有相同的值



我正在为基本的事情而挣扎。我正在尝试比较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,我正在尝试检查数据是否已更改

您必须比较值才能比较引用。这将不起作用,因此可以编写一个小助手方法来检查两个SelectedListItems是否具有相同的值,并检查两个列表是否具有相同项。

如果你想以一种漂亮的方式实现它,你可以为SelectedListItem类实现IEqualityComparer<T>接口

如果它是一个快速而肮脏的单次检查,并且表的大小没有那么大,那么你也可以序列化它,并直接比较的输出

相关内容

  • 没有找到相关文章

最新更新