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”); } ```
