title: Which data structure to use for fast search? (C#)
body: <p>I need a efficient data structure for searching. Currently I am using a simple List from System.Collections.Generic until I find a good solution.</p>
  
  <p>The user can add/remove strings at runtime by clicking on them in a list. But the main operation is searching because every time the user want's to see the list I need to check for every entry if the user already clicked on it before. The list may contain about 100-1000 entries of which the user can choose about 100. The list with the chosen strings will also be saved as a string array to disk and needs to be loaded again. So the data structure should be fast to rebuild from a string array if the array was saved in the correct order.</p>
  
  <p>I thought about using an AVL tree. Is it a good solution? Or would hashing be possible (I don't know the strings that can be chosen at compile time)?</p>