字符串如何在.NET中传递?

当我传递string给一个函数时,是一个指向传递给字符串内容的指针,还是整个字符串传递给堆栈上的函数就像struct是?



森栏
浏览 248回答 3
3回答

开满天机

C#中的字符串是不可变的引用对象。这意味着对它们的引用会传递(按值),一旦创建了一个字符串,就无法修改它。生成字符串的修改版本(子字符串,修剪版本等)的方法会创建原始字符串的修改副本。

慕码人2483693

字符串是特殊情况。每个实例都是不可变的。当您更改字符串的值时,您将在内存中分配新字符串。因此,只有引用被传递给您的函数,但是当编辑该字符串时,它将成为一个新实例,并且不会修改旧实例。
打开App,查看更多内容
随时随地看视频慕课网APP