Dny*_*war 2 c# string immutability
static void Main()
{
String str="sample";
ChangeString(ref str);
}
void ChangeString(ref string str)
{
str="New Sample";
}
Run Code Online (Sandbox Code Playgroud)
在内存方面,它将创建新实例或更新现有实例,同时我们将ref指针传递给对象
将引用类型作为参数传递不会创建新实例,无论是否使用ref关键字.ChangeString方法内的代码将为变量分配一个新实例.
.NET中的字符串是不可变的,因此您无法更改它们.将字符串分配给字符串变量时,变量中的引用将替换为对新字符串的引用.
但是请注意,这两个字符串对象的文本字符串"sample"和"New Sample"应用程序启动时创建的.当赋值发生时,代码不会创建任何新的字符串实例,它只获取对先前创建的字符串对象的引用.
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |