我剛注意到HashTable對象有一個Contains和CotainsKey方法,具有相同的描述。所以他們只是同義詞或者是有幕後.Net Hashtable - Contains vs ContainsKey
13
A
回答
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);
}
+0
那麼爲什麼ContainsKey是公開的? – Imad 2015-08-29 12:02:15
1
沒有他們的行爲完全一樣
8
的Contains
方法只是調用ContainsKey
方法在內部後面SOM edifference - 您可以使用Reflector檢查。
相關問題
- 1. Containskey VS Try Catch
- 2. Hashtable contains()不讀char類型
- 3. Hashtable vs Collections.synchronizedMap(hashmap)
- 4. Hashtable vs Dictionary:更快?
- 5. Linq/Enumerable Any Vs Contains
- 6. .NET Hashtable的克隆
- 7. AVL vs帶鏈接的Hashtable
- 8. LINQ Ring:Any()vs Contains()for Large Collection
- 9. Unsort或unorder HashTable in .net
- 10. .Net Hashtable,Java Hashtable和HashMap之間的差異
- 11. C#hashtable ContainsKey返回false,當我知道它有一個關鍵的條目
- 12. SortedSet <T> Contains vs Linq查詢
- 13. SQL:Like vs Contains - 不同的結果
- 14. 集合/字符串.Contains vs集合/ string.IndexOf
- 15. C#中的containsKey
- 16. C#字典ContainsKey
- 17. JSP中的ContainsKey
- 18. .NET Hashtable - 「相同」鍵,不同的哈希
- 19. .NET vs ASP.NET vs CLR vs ASP
- 20. NullPointerException異常上的containsKey上TreeMap的VS上的HashMap
- 21. 將Hashtable轉換爲xml字符串並返回HashTable而不使用.NET Serializer
- 22. 字典ContainsKey方法
- 23. containsKey或不工作
- 24. .Net TCP vs WCF vs Powershell
- 25. IntelliLock vs Net Reactor
- 26. .NET WebClient.UploadValues vs WebClient.UploadData
- 27. Namedpipe:C++ vs .NET 4.0
- 28. TeeChart VCL vs .NET
- 29. .NET SHA256 Vs Object.GetHashCode()
- 30. .Net Attribute.Match vs .Equals?
問得好! 'Contains'用於實現'IDictionary.Contains',它「確定IDictionary'對象是否包含具有指定鍵的元素」 - 那麼爲什麼'ContainsKey'在那裏? – AakashM 2010-04-07 09:31:06
嗯食物的思想。你爲什麼不打開一個單獨的問題呢。 – Midhat 2010-04-07 09:36:50