匿名类型属性设置器
为什么匿名类型没有属性设置器?
var a = new { Text = "Hello" }; a.Text = "World"; //error
匿名类型是设计不可变的。
匿名类型用于保存值,表示值的类型不应该是可变的。
此外,它会使它们在字典中不可靠,因为哈希码可能在创建后发生变化。
许多LINQ方法使用字典,特别是对于延迟评估,具有可变类型的LINQ可能会导致细微的神秘错误。
为什么匿名类型没有属性设置器?
var a = new { Text = "Hello" }; a.Text = "World"; //error
匿名类型是设计不可变的。
匿名类型用于保存值,表示值的类型不应该是可变的。
此外,它会使它们在字典中不可靠,因为哈希码可能在创建后发生变化。
许多LINQ方法使用字典,特别是对于延迟评估,具有可变类型的LINQ可能会导致细微的神秘错误。