0

次のようになります。

Dim stringlist As List(Of String)
Dim stringlisthas = stringlist.Contains("thing1")

より遅くなる

Dim stringlist As List(Of String)
Dim stringlisthash As New HashSet(Of String)(stringlist)
Dim stringlisthas = stringlisthash.Contains("thing1")

ハッシュセットは含まれていますか?

4

1 に答える 1

1

ハッシュセットは含まれていますか?

必要ですか?いいえ。

[ List<T>.Contains] は [ ] より遅くなりますHashSet<T>.Containsか?

おそらく。がどのようList<T>.Containsに実装されているかによって異なります (おそらく線形検索です)。

あなたが聞いていない質問にお答えします。

それは問題ですか?

場合によります。両方をコーディングしてプロファイリングし、それがアプリケーションのボトルネックになっているかどうかを確認する必要があります。そうでない場合は、そのままにしてList<T>.Containsください。

于 2010-09-20T14:06:07.467 に答える