2009-11-10 30 views
4

在Java中,可以使用Collections#unmodifiableList()方法從現有List對象創建不可修改列表。 C#中有沒有對應的東西?我是新來的語言,並沒有能夠在MSDN文檔中找到像這樣的東西。C#中的不可修改列表#

+0

有相當覆蓋這幾個問題,其中包括:http://stackoverflow.com/questions/1326574/properly-exposing-a-listt – 2009-11-10 20:29:17

+0

.Net框架提供了 HTTP:/ /stackoverflow.com/questions/984042/unmodifiablelist-in-net-4-0 – 2009-11-10 20:21:33

回答

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

正是我在找什麼,謝謝。我想我還沒有習慣如何搜索MSDN網站。 – 2009-11-10 20:22:19

+3

MSDN的最佳搜索是谷歌:)但我知道它被稱爲ReadOnlyCollection,如果你正在尋找不可修改的列表,你可能會有更少的結果。 – Bob 2009-11-10 20:23:40

+5

最後一行可以是'var readonlyDinosaurs = dinosaurs.AsReadOnly()' – 2009-11-10 20:30:09