В Java можно использовать метод Collections # unmodifiableList () для создания неизменяемого списка из существующего объекта List. Есть ли аналог в C #? Я новичок в этом языке и не смог найти ничего подобного в документации MSDN.
Неизменяемые списки в C #
comment
Net framework предлагает это stackoverflow.com/questions/984042/unmodifiablelist -in-net-4-0
- person Captain Comic   schedule 10.11.2009
comment
По этому поводу есть довольно много вопросов, в том числе: stackoverflow.com/questions / 1326574 / right-exing-a-listt
- person Ruben Bartelink   schedule 10.11.2009
Ответы (1)
var dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
var readOnlyDinosaurs = new ReadOnlyCollection<string>(dinosaurs);
person
Bob
schedule
10.11.2009
Именно то, что я ищу, спасибо. Думаю, я еще не привык к поиску на сайте MSDN.
- person Alex Marshall; 10.11.2009
Лучший поиск для MSDN - это google :) Но я знал, что это называется ReadOnlyCollection. Если вы ищете список «Неизменяемый», у вас может быть меньше результатов.
- person Bob; 10.11.2009
Последняя строка может быть
var readonlyDinosaurs = dinosaurs.AsReadOnly()
- person Ruben Bartelink; 10.11.2009
Обратите внимание, что это фактически не делает саму коллекцию доступной только для чтения. Скорее, он дает вам доступную только для чтения оболочку изменяемой коллекции; попытки изменить оболочку вызовут исключения, но любой, кто может получить ссылку на исходную коллекцию, все равно может ее изменить.
- person Eric Lippert; 11.11.2009