Jon*_*eet 18
你不应该避免它.你正在阅读的编码标准文件正在胡说八道.试着找到作者并请他解释.
除了其他任何东西,它string是一个引用类型,数组总是可变的...这让我关心文档其余部分的质量,说实话.还有其他可疑的建议吗?
(有可能"不可变"意味着指代价值类型而不是集合 - 这是另一个令人担忧的标志,即IMO.这一事实是模棱两可的.)
我认为该声明的原因是它是在.NET 2.0之前编写的.
在.NET 1.x中使用foreach时,它正在使用IEnumerable接口(因为IEnumerable<T>接口尚不存在.)当迭代值类型集合时,枚举器会将每个项目都装箱,以便能够将其作为对象引用返回,那么foreach代码必须将其拆箱.
字符串数组当然不是值类型数组的示例.整数数组是.
我同意Jon的意见,这个建议没什么意义.我的猜测是作者发现在迭代时你不能改变当前项的值.但是,如果您正在迭代一组引用类型,您仍然可以修改当前项指向的对象.也许(s)他得出结论,迭代在某种程度上被破坏了价值类型集合.
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |