Domanda

Qual è il contenitore più adatto solo per le stringhe tenendo in alcune serie con non-predeterminato limite superiore, la cui lunghezza è sconosciuta sulla sua creazione.

Per il codice semplice come:

var list = new SomeContainer(); // size is unknown
for()/foreach()/do()/while() // any loop
{
  list.Add(string);
}

E 'StringCollection come Collection ottimizzato per la stringa, o semplicemente Collection<string> o List<string> o ArrayList? Qual è la differenza tra loro?

È stato utile?

Soluzione

Per quello che ti serve, List<string> è probabilmente il più versatile. StringCollection era a portata di mano in 1.1, quando (non generici) avevi bisogno di classi specifiche per collezioni tipizzati. Collection<string> è utile se si desidera creare una sottoclasse di fornire la convalida ecc.

In ogni caso, al punto 3.5, LINQ fornirà un sacco di metodi aggiuntivi per loro - ma senza LINQ, List<T> ha più funzioni (Find, Sort, etc)

Altri suggerimenti

Un List<T> sarebbe il più efficace.

Il Collection<T> classe è solo un wrapper per un altro tipo di lista, il costruttore senza parametri inizializza il ArrayList con un List<object>.

Un String è essenzialmente lo stesso di un StringCollection, in modo che avrebbe dovuto lanciare gli elementi da <=> durante la lettura da esso.

Un <=> è solo un tipo di involucro sicuro per un <=>.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top