Я обнаружил, что Люди утверждают, что использование всех полей readonly в классе необязательно делает этот экземпляр класса неизменным, потому что есть "способы" изменить значения полей readonly даже после инициализации (построения).
Как? Какие способы?
Итак, мой вопрос в том, когда мы можем действительно иметь "реальный" неизменяемый объект в С#, который я могу безопасно использовать при потоковой передаче?
Также анонимные типы создают неизменяемые объекты? И некоторые говорят, что LINQ использует неизменяемый объект внутри. Как именно?