1.示例代码
static void Main(string[] args)
{
Calculate(out int Area,out int Perimeter);
Console.WriteLine("面积为:{0};周长为{1};", Area, Perimeter);
Console.WriteLine("***************************************");
Console.WriteLine("第一个数为:");
int a = int.Parse( Console.ReadLine());
Console.WriteLine("第二个数为:");
int b = int.Parse( Console.ReadLine());
Change(ref a, ref b);
Console.WriteLine("第一个数为:{0},第二个数为{1}",a,b);
}
private static void Change(ref int a ,ref int b)
{
int c;
c = a;
a= b;
b= c;
}
private static void Calculate(out int Area,out int Perimeter)
{
Console.WriteLine("请输入长:");
int length = int.Parse(Console.ReadLine());
Console.WriteLine("请输入宽:");
int width = int.Parse(Console.ReadLine());
Area = width*length;
Perimeter = (width + length) * 2;
}
2.运行结果
示例 代码实现对矩形面积周长的计算以及两个数之间的交换
3.总结
3.1引用参数
3.1.1原理
按引用传递,传递实参变量自身的内存地址——>改变数据
传入的变量必须初始化值。
3.1.2使用方法
3.2输出参数
3.2.1原理
按引用传递,传递实参变量自身的内存地址——>返回结果
在函数执行完成之前必须赋值 。
3.2.2使用方法
4.代码改进
static void Main(string[] args)
{
Console.WriteLine("请输入长:");
int length = int.Parse(Console.ReadLine());
Console.WriteLine("请输入宽:");
int width = int.Parse(Console.ReadLine());
Calculate(length, width, out int Area, out int Perimeter);
Console.WriteLine("面积为:{0};周长为{1};", Area, Perimeter);
Console.WriteLine("***************************************");
Console.WriteLine("第一个数为:");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("第二个数为:");
int b = int.Parse(Console.ReadLine());
Change(ref a, ref b);
Console.WriteLine("第一个数为:{0},第二个数为{1}", a, b);
}
private static void Change(ref int a, ref int b)
{
int c;
c = a;
a = b;
b = c;
}
private static void Calculate(int length,int width, out int Area, out int Perimeter)
{
Area = width * length;
Perimeter = (width + length) * 2;
}