gpt4 book ai didi

c# - 有没有办法用 C# 中的给定比较函数在功能上比较两个已知大小相等的列表?

转载 作者:太空宇宙 更新时间:2023-11-03 21:26:10 25 4
gpt4 key购买 nike

我正在尝试比较两个已知大小相等的数组并按索引比较项目。通常,我将使用以下代码来实现此目的:

public bool CompareLists(object[] arr1, object[] arr2)
{
for (int i = 0; i < arr1.Length; ++i)
{
if (!( <compare arr1[i] to arr2[i]; may not be equality comparison> ))
return false;
}

return true;
}

有没有办法在 C# 中以功能方式执行此操作?使用 Linq 怎么样?我正在尝试查看是否可能出现以下情况:

return arr.Compare(arr2, (item1, item2) => < some comparison here > );

最佳答案

我认为您正在寻找 SequenceEqual .您可以为其提供一个 IEqualityComparer。来自 MSDN 的示例:

Product[] storeA = { new Product { Name = "apple", Code = 9 }, 
new Product { Name = "orange", Code = 4 } };

Product[] storeB = { new Product { Name = "apple", Code = 9 },
new Product { Name = "orange", Code = 4 } };

bool equalAB = storeA.SequenceEqual(storeB, new ProductComparer());

Console.WriteLine("Equal? " + equalAB);

如果您想避免为每次比较创建一个实现 IEqualityComparer 的类,您将必须创建您自己的 SequenceEqual 方法重载。

关于c# - 有没有办法用 C# 中的给定比较函数在功能上比较两个已知大小相等的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913516/

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