C# foreach 值類型及引用類型迭代變量改變的方式

C#中foreach不能改變迭代變量的值內存

 

然而此種說法只適用與值類型,更改值類型時會改變在棧上的內存分佈string

引用類型因爲是引用地址的變動,不影響內存分佈,因此可以在foreach中更改變量

至於引用類型中的特殊string類型,猜測是由於string類型的變動不是地址的更改,而是會在堆上面從新開闢一塊,因此應該也是會影戲到內存分佈foreach

相關文章
相關標籤/搜索