gpt4 book ai didi

c# - 缺少 EqualityComparer?

转载 作者:太空狗 更新时间:2023-10-30 00:34:04 24 4
gpt4 key购买 nike

enter image description here

我见过的例子:

  int[] a1 = { 1, 2, 3 };
int[] b1 = { 1, 2, 3 };

a1.Equals(b1) //false

a1.Equals(b1,EqualityComparer<int>.Default)); //true

但是,如您所见,我无法获得重载方法...

我错过了什么?

最佳答案

System.Object(或任何其他允许在整数数组上使用此类方法的类型)上没有此类方法。我想你正在寻找 Enumerable.SequenceEqual方法,LINQ to Objects 的扩展方法:

a1.SequenceEqual(b1, EqualityComparer<int>.Default)

虽然你也可以等效地做:

a1.SequenceEqual(b1)

编辑:如果你想使用 IStructuralEquatable 中的 Equals 方法,你必须转换到接口(interface),因为数组 implement this interface explictly :

((IStructuralEquatable)a1).Equals(b1, EqualityComparer<int>.Default)

关于c# - 缺少 EqualityComparer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com