Насколько я могу судить, в .NET 4.0 по-прежнему отсутствуют списки, доступные только для чтения. Почему во фреймворке до сих пор отсутствует эта функциональность? Разве это не одна из самых распространенных функциональных возможностей предметно-ориентированного дизайна ?
Одним из немногих преимуществ Java перед C # является то , что он представлен в форме метода Collections.unmodifiablelist (list) , который, похоже, давно назрел в IList <T> или List <T>.
Использование IEnumerable<T>
- самый простой ToList
вариант решения вопроса - можно использовать и вернуть копию.
List<T>
для чтения - это написать свой собственный, я не знаю встроенного класса, который поддерживает все готовые функции «только для чтения»List<T>
, такие какContains
запросы LINQ и т. Д.