Ho una applicazione che ad un certo punto analizza una serie di blocchi di testo per trovare dei pattern e deve restituire una lista univoca di stringhe che matchano. La prima implementazione è stata di fare una List<String> ed ad ogni match fare un List.Contains ed aggiungere solo quando la stringa non compare già. Faccio i miei bei unit test ma quando metto in produzione mi accorgo che i dati su cui si lavora sono molto di più di quello che mi attendevo, io mi attendevo nell'ordine delle centinaia di match, mentre invece siamo nell'ordine delle decine di migliaia....su...