.Net 哈希表 - Contains 与 ContainsKey

标签 .net hashtable

我刚刚注意到 HashTable 对象有一个 Contains 和 CotainsKey 方法,具有相同的描述。那么它们只是同义词还是在幕后有一些差异

最佳答案

如果你用reflector检查Contains的代码,你会发现它直接调用了ContainsKey。

IL 是:

.method public hidebysig newslot virtual instance bool Contains(object key) cil managed
{
    .maxstack 8
    L_0000: ldarg.0 
    L_0001: ldarg.1 
    L_0002: callvirt instance bool System.Collections.Hashtable::ContainsKey(object)
    L_0007: ret 
}

这将转换为以下 C#

public virtual bool Contains(object key)
{
    return this.ContainsKey(key);
}

关于.Net 哈希表 - Contains 与 ContainsKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2591045/

相关文章:

c# - 如何使用日期时间获取前一天

.net - 使用 Rest API 访问 Azure Blob 存储

c# - 如何在 .NET 测试中传入模拟的 HttpClient?

python - 在 Python 中进行模糊键查找的最佳方法?

c# - 为什么 .NET 内部哈希表中有一个 Thread.Sleep(1)?

c# - 在运行时创建委托(delegate)类型

.net - 在C#客户端中识别kubernetes部署规范中的错误字段

powershell - 如何在powershell中检查关联数组是否为空

java - Java 具有 2 个不同字段的类的哈希码

powershell - 是否可以通过.Key而不是[“Key”]访问Powershell哈希表?