📜  C#|检查两个OrderedDictionary对象是否相等(1)

📅  最后修改于: 2023-12-03 15:30:18.115000             🧑  作者: Mango

检查两个OrderedDictionary对象是否相等

在C#中,要比较两个OrderedDictionary对象是否相等,需要比较它们中的每一个元素是否相等。OrderedDictionary是一个键值对集合,其中的元素按照添加的顺序排列。

以下是比较两个OrderedDictionary对象是否相等的示例代码:

using System.Collections.Specialized;

OrderedDictionary dict1 = new OrderedDictionary();
dict1.Add("key1", "value1");
dict1.Add("key2", "value2");

OrderedDictionary dict2 = new OrderedDictionary();
dict2.Add("key1", "value1");
dict2.Add("key2", "value2");

bool isEqual = dict1.Cast<DictionaryEntry>().SequenceEqual(dict2.Cast<DictionaryEntry>());

if (isEqual)
{
    Console.WriteLine("dict1 and dict2 are equal");
}
else
{
    Console.WriteLine("dict1 and dict2 are not equal");
}

在上面的代码中,我们首先创建了两个OrderedDictionary对象,然后使用SequenceEqual方法比较它们中的元素是否相等。SequenceEqual方法是LINQ扩展方法,用于比较两个集合中的元素是否相等。

在比较时,我们使用了Cast方法将OrderedDictionary转换为IEnumerable,用于方便地访问其中的元素。然后,我们使用SequenceEqual方法比较两个OrderedDictionary对象中的元素是否相等,如果相等,则输出“dict1 and dict2 are equal”,否则输出“dict1 and dict2 are not equal”。

总之,要比较两个OrderedDictionary对象是否相等,需要比较它们中的每一个元素是否相等。可以使用LINQ扩展方法SequenceEqual来比较元素是否相等。