2009-11-10 6 views
4

En Java, on peut utiliser la méthode Collections # unmodifiableList() pour créer une liste non modifiable à partir d'un objet List existant. Y a-t-il une contrepartie en C#? Je suis nouveau à la langue et n'ai pas été en mesure de trouver quelque chose comme ça dans les documents MSDN.Listes non modifiables en C#

+0

Il y a assez peu de questions couvrant, notamment: des http://stackoverflow.com/questions/1326574/properly-exposing-a-listt –

+0

Net framework propose que http://stackoverflow.com/questions/984042/unmodifiablelist-in-net-4-0 –

Répondre

16

ReadOnlyCollection

var dinosaurs = new List<string>(); 

dinosaurs.Add("Tyrannosaurus"); 
dinosaurs.Add("Amargasaurus"); 
dinosaurs.Add("Deinonychus"); 
dinosaurs.Add("Compsognathus"); 

var readOnlyDinosaurs = new ReadOnlyCollection<string>(dinosaurs); 
+0

Exactement ce que je cherche, merci. Je suppose que je ne me suis pas habitué à la recherche sur le site MSDN pour le moment. –

+3

La meilleure recherche pour MSDN est google :) Mais je savais qu'il s'appelait ReadOnlyCollection, Si vous cherchez une liste non modifiable vous pourriez avoir moins de résultats. – Bob

+5

La dernière ligne peut être 'var readonlyDinosaurs = dinosaurs.AsReadOnly()' –