C# foreach 值类型及引用类型迭代变量改变的方式

C#中foreach不能改变迭代变量的值

然而此种说法只适用与值类型,更改值类型时会改变在栈上的内存分布

引用类型由于是引用地址的变更,不影响内存分布,所以能够在foreach中更改

至于引用类型中的特殊string类型,猜想是因为string类型的变更不是地址的更改,而是会在堆上面重新开辟一块,所以应该也是会影戏到内存分布

上一篇:ASP.NET发送电子邮件


下一篇:Java Collection框架详解