为什么匿名类型没有属性 setter ?
var a = new { Text = "Hello" };
a.Text = "World"; //error
最佳答案
匿名类型在设计上是不可变的。
匿名类型旨在保存值,表示值的类型不应该是可变的。
此外,这会使它们在字典中变得不可靠,因为哈希码在创建后可能会发生变化。
许多 LINQ 方法都使用字典,尤其是在延迟求值的情况下,具有可变类型的 LINQ 可能会导致微妙的神秘错误。
关于c# - 匿名类型属性 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2328676/