C#中foreach不能改变迭代变量的值
然而此种说法只适用与值类型,更改值类型时会改变在栈上的内存分布
引用类型由于是引用地址的变更,不影响内存分布,所以能够在foreach中更改
至于引用类型中的特殊string类型,猜想是因为string类型的变更不是地址的更改,而是会在堆上面重新开辟一块,所以应该也是会影戏到内存分布
原文地址:https://www.cnblogs.com/X-Q-X/p/10402479.html
时间: 2024-11-03 09:41:44
C#中foreach不能改变迭代变量的值
然而此种说法只适用与值类型,更改值类型时会改变在栈上的内存分布
引用类型由于是引用地址的变更,不影响内存分布,所以能够在foreach中更改
至于引用类型中的特殊string类型,猜想是因为string类型的变更不是地址的更改,而是会在堆上面重新开辟一块,所以应该也是会影戏到内存分布
原文地址:https://www.cnblogs.com/X-Q-X/p/10402479.html