用C#编写一个类,该类不包含数据成员,包含三个方法,三个访问都是完成对两个数的交换,方法的定义如下: SwapWithIn(int a,int b) SwapWithOut(out int a, out int b) SwapWithRef(ref int a, ref int b) 最后在Main方法中调用,比较他们之间的不同。
时间: 2024-03-22 14:41:45 浏览: 82
好的,我来为您解答这个问题。
以下是用C#编写的类,包含三个方法,用于完成对两个数的交换:
```
using System;
class Program
{
static void Main(string[] args)
{
int a = 1, b = 2;
// 调用SwapWithIn方法
SwapWithIn(a, b);
Console.WriteLine("SwapWithIn方法调用后:a = " + a + ", b = " + b);
// 调用SwapWithOut方法
SwapWithOut(out a, out b);
Console.WriteLine("SwapWithOut方法调用后:a = " + a + ", b = " + b);
// 调用SwapWithRef方法
SwapWithRef(ref a, ref b);
Console.WriteLine("SwapWithRef方法调用后:a = " + a + ", b = " + b);
}
static void SwapWithIn(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
static void SwapWithOut(out int a, out int b)
{
a = 2;
b = 1;
}
static void SwapWithRef(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
}
```
程序中定义了一个类,包含三个方法,分别用于完成对两个数的交换。
- `SwapWithIn`方法使用值传递方式,将a、b的值传入方法中,交换两个数的值,但是这个交换不会影响到原来的a、b的值。
- `SwapWithOut`方法使用out关键字,可以返回多个值,该方法中a、b是输出参数,方法内部重新赋值后,将会改变原来的a、b的值。
- `SwapWithRef`方法使用ref关键字,可以在方法内部改变参数的值,改变后会影响原来的a、b的值。
在Main方法中,分别调用了三个方法,并输出执行后的a、b的值。
希望对你有所帮助!
阅读全文