可能重复:
Why are the properties of anonymous types in C# read-only?
我写了这样的东西,
var suspense = new { Name = "Android", Market = string.Empty };
suspense.Market = "Potential";
.NET抛出错误
无法将属性或索引器'AnonymousType#1.Market'分配给 - 它是只读的
我知道C#中的AnonymousTypes是不可变的,但为什么呢?这是由于CLR的某些限制吗?
答案 0 :(得分:1)
驱动不可变匿名类型的激励因素是,因为LINQ API在内部使用哈希表,并且返回可以修改的匿名类型的投影是一种危险的情况。
您可以查看: