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

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

C# | 检查两个 ListDictionary 对象是否相等

要比较两个 ListDictionary 对象是否相等,我们可以使用 Linq 的 SequenceEqual 方法。该方法比较两个集合是否拥有相同的元素,且顺序也要一致。

以下是示例代码:

using System.Collections;
using System.Collections.Specialized;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        ListDictionary list1 = new ListDictionary {
            { "key1", "value1" },
            { "key2", "value2" }
        };

        ListDictionary list2 = new ListDictionary {
            { "key1", "value1" },
            { "key2", "value2" }
        };

        bool isEqual = list1.Cast<DictionaryEntry>()
            .SequenceEqual(list2.Cast<DictionaryEntry>());

        if (isEqual)
            Console.WriteLine("两个 ListDictionary 对象相等");
        else
            Console.WriteLine("两个 ListDictionary 对象不相等");
    }
}
  • ListDictionary 是一种键/值对的非泛型集合,可通过键或索引进行访问。
  • Cast<DictionaryEntry>() 方法将 ListDictionary 转换为 IEnumerable,以便使用 Linq 查询。
  • SequenceEqual 方法用于比较两个 IEnumerable 是否序列相等。

我们可以将两个 ListDictionary 对象初始化为具有相同的键和值,以便测试它是否相等,如果它是相等的,则输出“两个 ListDictionary 对象相等”,否则输出“两个 ListDictionary 对象不相等”。