Если у вас есть:
List<string> names=new List<string>(){"Rod", "Jane", "Freddy"};
Тогда вы можете сказать:
ReadOnlyCollection<string> readOnlyNames=names.AsReadOnly();
Это не копирует список. Вместо этого коллекция только для чтения хранит ссылку на исходный список и запрещает его изменение. Однако, если вы измените базовый список с помощью names
, то readOnlyNames
также изменится, поэтому лучше отказаться от доступного для записи экземпляра, если можете.