This may be a silly question but I am reading about that Hashtables and Dictionaries are faster than a list because they index the items with keys.
I know a List or Array is for elements without values, and a Dictionary is for elements with values. So I would think that it maybe be smart to have a Dictionary with the value that you need as a key and the value equal in all of them?
Update:
Based on the comments what I think I need is a HashSet. This question talks about their performance.
“Faster” depends on what you need them for.
A .NET
Listis just a slab of continuous memory (this in not a linked list), which makes it extremely efficient to access sequentially (especially when you consider the effects of caching and prefetching of modern CPUs) or “randomly” trough a known integer index. Searching or inserting elements (especially in the middle) – not so much.Dictionaryis an associative data structure – a key can be anything hashable (not just integer index), but elements are not sorted in a “meaningful” way and the access through the known key is not as fast asList‘s integer index.So, pick the right tool for the job.