Ho un set di stringhe (~ 80.000) Posso accedere solo in sequenza dal metodo hits.Doc (int) .Get ("fieldName").Il modo più veloce per creare un elenco di stringhe univoche da un loop?
List<string> idStrings = new List<string>();
int count = hits.Length();
for (int i = 0; i < count; i++)
{
string idString = hits.Doc(i).Get("id");
if (!idStrings.Contains(idString))
idStrings.Add(idString);
}
Le stringhe in seguito dovranno essere int.TryParse() 'd. Penso che ci dovrebbe essere un modo più veloce per farlo. Eventuali suggerimenti?
concordati - List.Contains() è una funzione O (n). HashSet.Contains è O (1). – itsmatt
Grande, questo è quello che stavo pensando che dovrei ricordare, ma non lo fece. Spero che questo renda conto a chiunque: P –
Si noti che non c'è sovraccarico per impostare la capacità di un int. –