gpt4 book ai didi

c# - Hashtable A 等于 HashtAble B 控件

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

C# 中的你好我有两个哈希表对象,其键/值对相同我想检查两个哈希表键/值对是否相等..

我尝试了 hashtable 的 equal 方法但没有成功

我应该用 foreach 检查所有项目吗?

谢谢

最佳答案

你想要做的是取一个集合并集,看看大小是否与计数相同。你可以做一些不同,但你必须两种方式都做。这些可以使用 Linq 扩展方法轻松完成,但由于您使用的是 Hashtable,因此必须使用 Cast() 将其获取到 IEnumerable:

        var table1 = new Hashtable {{"A", 1}, {"B", 2}, {"C", 3}};
var table2 = new Hashtable {{"B", 2}, {"A", 1}, {"C", 3}};

bool same = table1.Cast<DictionaryEntry>().Union(table2.Cast<DictionaryEntry>()).Count() == table1.Count;

Console.WriteLine("Same = " + same);

我通常推荐 Dictionary over Hashtable 以获得类型安全,但是 Cast<>() 允许您使用 Linq 的东西,这些东西只是用旧的 Hashtable 找到的。

关于c# - Hashtable A 等于 HashtAble B 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947304/

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