相关疑难解决方法(0)

比较两个List <T>对象是否相等,忽略顺序

又一个列表比较问题.

List<MyType> list1;
List<MyType> list2;
Run Code Online (Sandbox Code Playgroud)

我需要检查它们是否具有相同的元素,无论它们在列表中的位置如何.每个MyType对象可能在列表中出现多次.是否有内置函数可以检查这个?如果我保证每个元素只在列表中出现一次怎么办?

编辑:伙计们感谢答案,但我忘了添加一些东西,每个元素的出现次数在两个列表上都应该相同.

c# comparison list equals

226
推荐指数
6
解决办法
22万
查看次数

嵌套对象上的 EqualityComparer

我想比较两个嵌套对象列表。如果父对象Id不同和/或任何子对象IdBaz属性不同,我想认为它们已更改。

我已经实现了我自己的版本EqualsGetHashCode以下版本,但尽管使用了我自己的 equalcomparer,Except()仍然会产生结果,而我希望对象是相等的。

var foo1 = new Foo
{
    Id = 1,
    Bars = new List<Bar>
    {
        new Bar
        {
            Id = 1,
            Baz = 1.5
        },
        new Bar
        {
            Id = 1,
            Baz = 1.5
        }
    }
};

var foo2 = new Foo
{
    Id = 1,
    Bars = new List<Bar>
    {
        new Bar
        {
            Id = 1,
            Baz = 1.5
        },
        new Bar
        {
            Id = …
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
1
解决办法
1050
查看次数

C#中"包含"的重载

我使用以下代码来检查两个列表是否相等.

var a = ints1.All(ints2.Contains) && ints1.Count == ints2.Count;
Run Code Online (Sandbox Code Playgroud)

我唯一不明白的是ints2.Contains工作方式.据我所知,Contains()是一种方法并采取参数.正如我们在这里看到的,Contains没有采取任何参数.注意 - ints1并且ints2是两个不同的列表.

c#

0
推荐指数
1
解决办法
156
查看次数

标签 统计

c# ×3

comparison ×1

equals ×1

list ×1