I need a list of strings and a way to quickly determine if a string is contained within that list.
To enhance lookup speed, I considered SortedList
and Dictionary
; however, both work with KeyValuePair
s when all I need is a single string
.
I know I could use a KeyValuePair
and simply ignore the Value
portion. But I do prefer to be efficient and am just wondering if there is a collection better suited to my requirements.
If you're on .NET 3.5 or higher, use HashSet<String>
.
Failing that, a Dictionary<string, byte>
(or whatever type you want for the TValue
type parameter) would be faster than a SortedList
if you have a lot of entries - the latter will use a binary search, so it'll be O(log n) lookup, instead of O(1).
If you just want to know if a string is in the set use HashSet<string>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With