函数的定义和使用
定义函数

static void Write(){
 Console.WriteLine(“Text output from function .”);
 }

函数的使用

static void Main(){
 Write();
 }

控制台应用程序函数的定义形式如下:

static (){
 …
 return ;
 }

参数数组
定义一个函数,用来取得数字的和,但是数字的个数不确定。
解决方案:
1,定义一个函数,参数传递过来一个数组;
2,定义一个参数个数不确定的函数,这个时候我们就要使用参数数组。

除了参数数组,所有函数的参数都是固定的,那么调用的时候,参数是一定要传递的

//这里定义了一个int类型的参数数组,参数数组和数组参数(上面的)的不同,在于函数的调用,调用参数数组的函数的时候,我们可以传递过来任意多个参数,然后编译器会帮我们自动组拼成一个数组,参数如果是上面的数组参数,那么这个数组我们自己去手动创建
//参数数组就是帮我们 减少了一个创建数组的过程

数组参数:int【】array 用一个数组作为参数
static int array(int [ ] array)
array ( new int[ ] { 1,2,3,4,5} ) 需要自己构造数组
参数数组:可以将输入的参数自动转化为数组
static int array(params int【】array)
array(1,2,3,4,5) 直接传数,不需要构造数组。

结构函数
在结构体中定义函数,实现得到名字

struct CustomerName{
 public string firstName;
 public string lastName;
 public string GetName(){
 return firstName+" "+lastName;
 }
 }


函数的重载overload
假设我们有一个函数用来实现求得一个数组的最大值

static int MaxValue(int[] intArray){
 …
 return;
 }


这个函数只能用于处理int数组,如果想处理double类型的话需要再定义一个函数

static double MaxValue(double[] doubleArray){
 …
 return;
 }


函数名相同,参数不同,这个叫做函数的重载(编译器通过不同的参数去识别应该调用哪一个函数)
//编译器会根据你传递过来的实参的类型去判定调用哪一个函数