定义
一个较大的程序应分为若干个模块,每一个模块用来实现一个特定的功能,将用来调用重复使用或者常用的模块编写成函数。
在制作中项目由一个主函数和若干个函数构成,函数与函数之间可以相互调用,函数之间关系是平行关系。
作用
1、提高代码的重用性
就是减少重复编写程序段,把函数重复调用,减少工作量
2、提高功能开发的效率
3、提高程序代码的可维护性
减少代码段出错,并且把错误的代码进行更改
函数由四要素:输入,输出,函数名,函数体
函数类型 函数名(函数参数) 函数类型有public static +数据类型(int string bool double... ...)
{说明语句;
执行的语句;
return 变量(可有可无); //返回的一个值 返回输出里
}
一般放在主函数(Main函数)外面 类的里面
函数的多种形态:
1、有参数,有返回值
2、无参数,无返回值
3、有参数,无返回值
4、无参数,有返回值
函数的多种形态:
1、有参数,有返回值
class Program 类 { public static int jiafa(int a, int b) 命名 jiafa函数 返回值是int类型 参数也是int类型 { int c = a + b; 这里是要运行函数的代码 return c; c就是返回的值 int类型 } static void Main(string[] args) { int a=Program.jiafa(10, 20); // 调用函数 代码是 Program加上点 括号里面是要用的参数 因为返回的值是int类型 所以用int a Console.WriteLine(a); Console.ReadLine(); } }
2、无参数,无返回值
namespace 函数测试练习 命名空间 { class Program 类 { public static void a() 看这次的括号里没有参数 函数是void a { Console.WriteLine("你好!"); 没有return 返回值,只有一个运行的代码段 } static void Main(string[] args) { Program.a(); 调用函数也没有用参数 Console.ReadLine(); } } }
3、有参数,无返回值
class Program 类 { public static void a(int b,int c) 括号里有参数 int类型 也是用的函数void { Console.WriteLine(b+c); 没有return 返回值 只有代码段 } static void Main(string[] args) { Program.a(12,34); 用int a=program.a(12,34)无法实现,因为函数已经默认定义为Console.Write(); Console.ReadLine(); } }
4、无参数,有返回值
class Program { public static int a() 括号里没有参数 函数用的不是void { return 10; 用的retur返回值10 } static void Main(string[] args) { Console.WriteLine(Program.a()); Console.ReadLine(); } }
函数返回多个值的办法:
ref - 可出可进
out - 只出不进