以下行为的 C# 语言规范是什么。属性的值被保留,但新实例(null 或新对象)不会更新为实际参数。除了更改它指向的对象外,它基本上起到 ref 的作用。
主函数中的对象保持不变(非空),但字符串属性已更改为“Hello World”
class Program
{
class MyClass
{
public string str;
}
static void MyMethod(MyClass obj)
{
obj.str = "Hello World";
obj = null;
}
static void Main(string[] args)
{
MyClass o = new MyClass();
o.str = "Hello";
Console.WriteLine(o.str);
MyMethod(o);
Console.WriteLine(o.str); // prints "Hello World"
}
}