public static void ChangeA(A a)
{
a.X = 2;
}
static void Main()
{
A a1 = new A { X = 1 };
ChangeA(a1);
WriteLine($"a1.X: {a1.X}");
}
:::info
最终WriteLine
输出什么取决于A是结构体还是类。
:::
ref参数
加上该参数,结构体作为参数传入,就可以传递结构体的引用值了。
public static void ChangeA(ref A a)
{
a.X = 2;
}
out参数
如果方法返回一个值,该方法通常声明返回类型,并返回结果。如果方法返回多个值,可能类型还不同,该怎么办?
- 声明类和结构,把应该返回的所有信息都定义为该类型的成员
- 使用元组类型
- 使用out关键字 ```csharp public static bool TryParse(string s, out int result);
string input2 = ReadLine(); int result; if (int.TryParse(input2, out result)
) { WriteLine($”n: {n}”); } else { WriteLine(“not a number”); } ```