Неизменяемые списки в C #

В Java можно использовать метод Collections # unmodifiableList () для создания неизменяемого списка из существующего объекта List. Есть ли в C # аналог? Я новичок в этом языке и не смог найти ничего подобного в документах MSDN.

10.11.2009 20:17:57
Сетевой каркас предлагает, что stackoverflow.com/questions/984042/unmodifiablelist-in-net-4-0
Captain Comic 10.11.2009 20:21:33
Есть несколько вопросов, касающихся этого, в том числе: stackoverflow.com/questions/1326574/properly-exposing-a-listt
Ruben Bartelink 10.11.2009 20:29:17
1 ОТВЕТ
РЕШЕНИЕ

ReadOnlyCollection

var dinosaurs = new List<string>();

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

var readOnlyDinosaurs = new ReadOnlyCollection<string>(dinosaurs);
16
10.11.2009 20:19:02
Именно то, что я ищу, спасибо. Думаю, я еще не привык к поиску на сайте MSDN.
Alex Marshall 10.11.2009 20:22:19
Лучший поиск для MSDN - это google :) Но я знал, что он называется ReadOnlyCollection. Если вы ищете немодифицируемый список, у вас может быть меньше результатов.
Bob 10.11.2009 20:23:40
Последняя строка может бытьvar readonlyDinosaurs = dinosaurs.AsReadOnly()
Ruben Bartelink 10.11.2009 20:30:09
Обратите внимание, что это на самом деле не делает саму коллекцию доступной только для чтения. Скорее, это дает вам обертку только для чтения вокруг изменяемой коллекции; Попытки изменить оболочку вызовут исключения, но любой, кто сможет получить ссылку на исходную коллекцию, может изменить ее.
Eric Lippert 10.11.2009 21:25:22