我刚刚注意到HashTable对象有一个Contains和CotainsKey方法,具有相同的描述。那么他们只是同义词还是幕后的som edifference
答案 0 :(得分:18)
如果检查包含反射器的代码,可以看到它直接调用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);
}
答案 1 :(得分:8)
Contains
方法只是在内部调用ContainsKey
方法 - 您可以使用Reflector进行检查。
答案 2 :(得分:1)
不,他们的行为完全相同