gpt4 book ai didi

c# - 比较 2 个字符串数组

转载 作者:行者123 更新时间:2023-12-02 01:15:26 25 4
gpt4 key购买 nike

我想以最快的方式比较 2 个字符串数组
我得到了类似下面的东西。

那是正确的做法吗?或者有什么更好的方法吗

            bool matching=false;
//say templateArr is the template array and dataArr as array to be compared
string[] templateArr = {"Dictionary_type","Translation_EN" };
string[] dataArr = { "Dictionary_type", "Translation_EN" };

if (templateArr.Union(dataArr).Distinct().Count() == templateArr.Count())
matching = true;

最佳答案

要测试集合是否相等,您可以使用 Enumerable.SequenceEquals如下。

using System.Linq;

bool AreEqual()
{
string[] templateArr = { "Dictionary_type", "Translation_EN" };
string[] dataArr = { "Dictionary_type", "Translation_EN" };

return templateArr.SequenceEquals(dataArr);
}

如果你想测试集合等价性(元素的顺序无关紧要),那么你可以使用 set-equality如下。

bool AreEquivalent()
{
string[] templateArr = { "Dictionary_type", "Translation_EN" };
string[] dataArr = { "Dictionary_type", "Translation_EN" };

return new HashSet<string>(templateArr).SetEquals(dataArr);
}

根据 MSDN 文档,这两种情况都是在线性时间内实现的。

关于c# - 比较 2 个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047329/

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