I valori devono essere copiati, perché non c'è modo di condividere la memoria tra uno List<TValue>
e uno SortedList<TKey,TValue>
.
presumo si desidera una List<TValue>
contenente i valori senza preoccuparsi delle chiavi, che si può fare con:
sortedList.Values.ToList();
Ma se avete solo bisogno di un IList<TValue>
(in contrasto con la classe concreta List<TValue>
) si può utilizzare direttamente la proprietà Values
e quindi evitare di creare una copia.
Ovviamente queste soluzioni si differenziano nella loro semantica quando la raccolta originale viene modificata. La copia List<TValue>
non rifletterà le modifiche, mentre la IList<TValue>
a cui fa riferimento la proprietàrifletterà le modifiche, anche se la si assegna a un'altra variabile.
Considerare la proprietà SortedList.Values. –
Ho un datacontract che serializza una lista, motivo per cui ho bisogno della lista . –
Almo