当我传递string给一个函数时,是一个指向传递给字符串内容的指针,还是整个字符串传递给堆栈上的函数就像struct是?
3 回答
开满天机
TA贡献1786条经验 获得超13个赞
C#中的字符串是不可变的引用对象。这意味着对它们的引用会传递(按值),一旦创建了一个字符串,就无法修改它。生成字符串的修改版本(子字符串,修剪版本等)的方法会创建原始字符串的修改副本。
慕码人2483693
TA贡献1860条经验 获得超9个赞
字符串是特殊情况。每个实例都是不可变的。当您更改字符串的值时,您将在内存中分配新字符串。
因此,只有引用被传递给您的函数,但是当编辑该字符串时,它将成为一个新实例,并且不会修改旧实例。
- 3 回答
- 0 关注
- 247 浏览
添加回答
举报
0/150
提交
取消