Contains方法
Contains()
方法在很多地方都可以使用,主要是用來比較指定物件內是否含有指定的項目。例如:String 型別的 Contains()
方法就經常拿來搜尋或過濾字串使用。
Dim YesNo As Boolean = "Bruce很帥XD".Contains("帥") Console.WriteLine(If(YesNo, "帥", "不帥")) Console.ReadLine()
但今天想瞭解在含有大量資料時,集合與泛型集合內的Contains方法的處理速度。
測試原因
想瞭解與測試的原因是因為亂馬客寫了一篇 .NET]產生不重覆的數值(List vs HashSet) 的文章,他測試結果是正確的,不過我認為測試範圍可以加大到集合與泛型集合,所以有了以下測試程式碼與測試結果。程式碼參考亂馬客文章進行修改,主要加入了 Counter 變數,記錄下 while
迴圈的執行次數,這樣比較能瞭解誤差值。
集合與泛型集合 - Contains方法
程式碼主要是要產生不重覆的數值,所以重點其實只在 while
那一行程式碼,這裡我加大數值的量,由 1 ~ 100000 裡取出不重覆的 90000 個數值。因為我們只單存取一個數值,所以 Key/Value 的集合與泛型集合就不在測試程式碼之內。