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