1、方法简介
- 在C#中,使用方法可以实现程序的模块化设计,使程序设计简单、直观,从而提高程序的可读性和可维护性。
- 一个C#程序可以由一个主方法和若干个子方法构成,主方法可以根据程序的需要合理地组织调用其他方法,从而实现程序的基本功能,子方法则用于实现程序的某个功能模块。
通常在两种情况下,可考虑使用方法实现:
(1)程序中可能重复出现相同或相似的代码,从中抽取出共同的部分,定义为方法,使该功能定义一次,可以多次使用,从而有效减少代码量,提高代码的重用率。
(2)程序中具有逻辑独立性的代码,即使该段代码只出现一次,也可以定义为方法,用于分解程序的复杂性,使程序结构更加清晰,更容易理解。
2、方法的分类
- 系统方法
由系统定义的方法,称为系统方法,此类方法在程序中无需定义,直接调用即可。
Array.Sort( )
C#之所以强大,原因之一就是.NET提供了许多功能强大的方法。
- 自定义方法
系统方法只能完成基本的程序功能,并不能完全满足实际程序开发的需要。在C#中,允许用户根据功能需求自定义方法,自定义方法必须先定义后调用,如定义方法获取两数之间的最大值。
自定义方法的定义的通用格式
语法:
访问修饰符 返回值类型 方法名(形式参数列表){
方法体;
}
自定义方法调用的通用格式
语法:
数据类型 变量名 = 方法名(实际参数列表)
3、自定义方法的分类
(1) 无参数无返回值的方法
一般用于直接输出
通用语法:访问修饰符 数据类型 方法名 (形参列表)
{
方法体;
}
static void 方法名()
{
方法体;
}
调用:直接通过 方法名();调用
(2) 有参数无返回值的方法
一般用于条件进行输出
static void 方法名(数据类型 变量名 1,数据类型 变量名 2 )
{
方法体;
}
调用;直接通过方法名(实际参数列表)进行调用
方法名(变量 1,变量 2);
(3) 无参数有返回值的方法
一般用于计算固定住=值的运算结果
static 数据类型 方法名()
{
方法体:
return 变量名;
}
调用:数据类型 变量=方法名();
(4) 有参数有返回值的方法
static 数据类型 方法名 (数据类型 变量)
{
方法体;
return 变量名;
}
调用:数据类型 变量名=方法名(实际参数--->输入的)
注意:
(1)自定义方法在 Main 方法外面,class 类 文件里面 ;
(2)有参数时,定义方法的参数称作形参列表,调用方法的参数称作实际参数列
表,有参数时,定义方法和调用方法的参数个数狠数据类型必须一致 ;
(3)有返回值时;必须用 return 进行接收,同时要保证方法的返回类型和最后的
return 后面的变量的数据类型,调用时接收的变量数据的数据类型三个地方要一致;
4、参数传递
1、值传递
C#中默认的参数传递方式,是指在方法调用时将实参的值的副本传递给形参,此时,形参和实参指代两个不同值。
2、引用传递
需要使用ref关键字实现,是指在方法调用时将实参的值的副本传递给形参,此时,形参和实参指代两个不同值。
如图为两者的执行过程: