using System; namespace Lesson { class Program { #region 知识点一 函数语法复习 //1.静态关键词 可选,目前来说必须加 //2.返回值 没有返回值填void 可以填写任意类型变量 //3.函数名 帕斯卡命名法 //4.参数可以是任意多个,可以加ref和out作为修饰词 //5.如果返回值不是void 那么必须有return对应类型的内容 return可以直接打断后续代码的运行 #endregion #region 知识点二 变长参数关键词 // 举例 函数要计算 n个整数的和 // 在常规写法中 static int Sum(int a, int b, ......) // 需要手写很多 或 不确定个变量 // 变成参数关键字 params static int Sum(params int[] arr) { int sum = 0; for (int i = 0; i < arr.Length; i++) { sum += arr[i]; } return sum; } //params int[]意味着可以传入n个int参数 n可以等于0 传入的参数会在arr数组中 //注意: //1.params关键字后面必须为数组 //2.数组的类型可以时任意的类型 //3.函数参数可以有 别的参数 params关键字修饰的参数 //4.函数参数中只能最多出现一个params关键字 并且一定是在最后一组参数 前面可以有任意个其他参数 //示例:static void Eat(string name, int a, params int[] arr) { } #endregion #region 知识点三 参数默认值 //有参数默认值的参数 一般称为可选参数 //作用是 当调用函数时可以不传入参数,不穿就会使用默认值,作为参数的默认值 static void Speak(string str = "什么都没说") { Console.WriteLine(str); } //注意: //1.支持多参数默认值 每个参数都可以有默认值 //2.如果要混用 可选参数 必须写在普通参数后面 //示例:static void Speak2(string test, string name="123",string str = "什么都没说") { } //第一个参数必须传,第二个第三个可以不传 #endregion static void Main(string[] args) { Sum(); Sum(1,2,3,4,5,6,7,8,9,10);//可以填写无数个参数 Speak(); Speak("传入参数"); } } }