第8章 函数
8.1 形式参数
static void print(string str1,string str2="hello"){}
形参可以有很多个,也可以给形参赋初始值,但是要将赋值初始值的参数放最后面。
static void getNum(params int[] arr)
{
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine(arr[i] + "\t");
}
}
getNum(4,5,6,7);
在参数前面加 params 这样会将传进来的参数变成一个数组,就可以了不用传一个数组进去。
8.2 out、ref参数类型
- 返回同个类型的值,我们可以返回一个数组来解决多个同类型返回值的需求
- 但是返回多个不同类型的值的时候,我们可以使用out参数。
int age;
string name;
static int test1(out int age,out string name) {
age = 120;
name = "张三";
return age;
}
//out、ref参数:相当于C中的&,取地址
Console.WriteLine(test1(out age, out name));
Console.WriteLine(age);//120
Console.WriteLine(name);//张三
| 内部(赋值) | 外部(赋值) | |
|---|---|---|
| out参数 | 必须要赋值 | 随意 |
| ref参数 | 随意 | 必须要赋值 |
8.3 函数重载
函数的名称相同,但是参数列表不同。调用该函数的时候,会根据不用的参数,自动选择合适的函数重载形式。
参数不同的情况
- ①如果参数的个数相同,那么参数的类型就不能相同;
- ②如果参数的类型相同,那么参数的个数就不能相同。