实验环境:Windows XP,Visual Studio 2010 Ultimate
1 创建项目
文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
2 添加代码如所示意。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace testParameterApp
{
class Program
{
//i为引用,其值将在函数中改变
public static void addOne(ref int i)
{
Console.WriteLine("ref参数");
i = i + 1;
}
//i为引用,其值将改变;j为值,其值不受影响
public static void Subtract(ref int i, int j)
{
Console.WriteLine("ref参数 and val参数");
i = i - j;
j = j - 1;//j值在函数中修改,并不影响实参
}
//i为out引用,其值等于函数中的i的运算结果
public static void SetValue(out int i, int j)
{
Console.WriteLine("out参数 and val参数");
i = j;
}
//iArray表示多个int型参数,传值
public static int GetSum(params int[] iArray)
{
Console.WriteLine("params参数");
int sum = 0;
//foreach遍历各个参数
foreach (int i in iArray)
{
sum = sum + i;
}
return(sum);
}
//sum为out引用,iArray表示多个int型参数
public static void GetSum(out int sum, params int[] iArray)
{
Console.WriteLine("out参数 and params参数");
sum = 0;//out参数在函数中必须先初始化,才可以使用
//遍历各个参数
for (int i = 0; i < iArray.Length; i++)
{
sum = sum + iArray[i];
}
}
//int[]为值参数
public static int GetArraySum(int[] iArray)
{
int sum = 0;
foreach (int i in iArray)
{
sum += i;
}
return sum;
}
static void Main(string[] args)
{
//声明int变量,未初始化
int num1, num2, sum1, sum2, sum3;
//用out引用变量,num1,num2无需初始化
SetValue(out num1, 10);
SetValue(out num2, 5);
Console.WriteLine("Number1={0},Number2={1}", num1, num2);
//ref引用变量,num1必须先初始化
addOne(ref num1);
Console.WriteLine("Number1={0},Number2={1}",num1,num2);
Subtract(ref num1, num2);
Console.WriteLine("Number1={0},Number2={1}", num1, num2);
//params参数可以为0个或多个
sum1 = GetSum();
sum1 = GetSum(num1, num2);
//sum2为out引用,无需初始化
GetSum(out sum2, num1, num2);
sum3 = GetArraySum(new int[] { num1, num2 });
Console.WriteLine("Sum1={0},Sum2={1},Sum3={2}", sum1, sum2, sum3);
}
}
}
3 调试
单击菜单栏的“调试”|“启动调试”,结果如下图。
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著