2010-09-20 22 views
0

Est-ce que suit:un HashSet nécessaire pour contient avec Liste (String) Vb.net

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

être plus lentement que

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

est-il un HashSet nécessaire pour contient?

Répondre

1

Un hachage est-il nécessaire pour le contenu?

Nécessaire?

Est-ce que [List<T>.Contains] serait plus lent que [HashSet<T>.Contains]?

Probablement. Cela dépend de comment List<T>.Contains est implémenté (c'est probablement une recherche linéaire).

Je vais répondre à une question que vous n'avez pas posée.

Est-ce important?

Cela dépend. Vous devez coder les deux, le profiler et voir si c'est un goulot d'étranglement dans votre application. Si ce n'est pas, il suffit de coller avec List<T>.Contains.