用c#自定义四个类,每个类分别定义带值参数、ref参数、out参数、params参数的方法。 在Main方法中创建该类井调用各自的方法,测试不同参数的效果并打印出来。
时间: 2024-10-16 13:10:57 浏览: 11
在C#中,你可以自定义四种类别,分别为:
1. 带值参数(Value Parameters):这种参数传递的是副本,原值不会改变。
```csharp
public class ClassWithValueParams {
public void SetValueMethod(int value) {
Console.WriteLine("Received: " + value);
}
}
// 在Main中使用
var obj = new ClassWithValueParams();
obj.SetValueMethod(10); // 输出: Received: 10
```
2. ref 参数(Ref Parameters):这种参数是引用传递,会修改原始变量的值。
```csharp
public class ClassWithRefParam {
public void SetRefMethod(ref int value) {
value += 5;
Console.WriteLine($"After update: {value}");
}
}
// 在Main中使用
int num = 5;
obj = new ClassWithRefParam();
obj.SetRefMethod(ref num); // 输出: After update: 10
num; // 10
```
3. out 参数(Out Parameters):这种方式需要提供一个预先声明的变量来接收结果,操作完成后该变量会被赋值。
```csharp
public class ClassWithOutParam {
public void GetResult(out int result) {
result = 25;
Console.WriteLine($"Result: {result}");
}
}
// 在Main中使用
int temp;
obj = new ClassWithOutParam();
obj.GetResult(out temp); // 输出: Result: 25
temp; // 25
```
4. params 参数(Params Parameters):用于函数可以接受不定数量的同类型的参数。
```csharp
public class ClassWithParams {
public void ConcatStrings(params string[] values) {
Console.WriteLine(string.Join(", ", values));
}
}
// 在Main中使用
obj = new ClassWithParams();
obj.ConcatStrings("Hello", " ", "World!"); // 输出: Hello, , World!
```
阅读全文