---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
1.为什么使用方法?方法的功能有那些?方法可以解决什么问题?
在我们写程序的时候发现有些代码需要重复的写,为了解决这种问题引入了方法这个概念
功能:用来复用代码的,当我们在一个程序中反复的写了同样的代码,那一般情况下我们可以把需要重复写的代码定义在一个方法中,用的时候只需要调用就行。
所以方法是用来解决复用的。
2.定义方法的语法
[访问修饰符] [static] 返回值类型 方法名()
{
方法体;
}
3.关于方法需要注意的几点:
方法一般要定义在类中;
如果方法没有返回值,则返回值类型写void;
方法的命名规则:第一,方法名开头大写,参数名开头小写,参数名,变量名要有意义;
第二,方法的调用,对于静态方法,如果在同一个类中,直接写名字调用就行了;
第三,return可以立即退出方法;
如果方法中没有参数,那么()不能够省略;
4.方法的调用
第一,如果是静态方法(由static修饰的)则使用 类名.方法名()
第二,在自己的类中调用自己的方法可以直接写方法名();
5.关于方法中参数的问题
在方法名后面的括号内定义变量叫做定义这个方法的参数;
这里定义的变量用于接收调用者传过来的数据;
注意:如果一个方法一旦有参数,那么调用者必须传参数,并且传参数的个数与对应位置上的类型必须一致。
当被调用者想得到调用者方法中的变量时,则可以让调用者用参数的形式给被调用者。
6.关于返回值的问题
当调用者想访问我们方法中的变量时,可以通过返回值返回;
只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接收方法的返回值;
注意:一个方法只能有一个返回值;
一旦一个方法有返回值,那么在这个方法体中就必须通过return语句返回一个值,并且这个值要与返回值类型相同的。
典型例子:判断一个年份是否是闰年?
一般在同一个类中,方法名相同,并且方法的参数的个数不同或者对应位置上的类型不同或者顺序不同,才能构成方法的重载。
注意:方法重载与返回值没有关系(只看参数不看返回值类型)
参数个数不同也可以构成方法的重载
8.什么情况下使用out参数和ref参数
思考:方法只有一个返回值,当我们需要返回多个值时怎么办?
这个问题就引入了out参数和ref参数
9.使用out参数的时候需要注意的问题
第一,在方法的参数类型前加out,那么传递参数的时候,也必须在变量前加out,表明这个参数不是传入的,而是用来传出的。
第二,如果参数是以out形式传入的,那么在传入之前可以不赋初值;
第三,在方法中对于由out修饰的参数,必须赋值,并且必须在使用前赋值(赋值必须放在前面)
10.out参数和ref参数使用上的区别
第一点不同是:out参数用于传出值而ref参数既可以往里传,也可以往外传;
第二点不同是:out在传递之前可以不赋初始值,因为在方法中肯定会为out赋值;
ref在传递之前必须要有值,因为在方法中有可能会用到这个参数的值;
11.典型例子:
用方法实现找出一个int类型数组中最大值和最小值。
class Program
1.为什么使用方法?方法的功能有那些?方法可以解决什么问题?
在我们写程序的时候发现有些代码需要重复的写,为了解决这种问题引入了方法这个概念
功能:用来复用代码的,当我们在一个程序中反复的写了同样的代码,那一般情况下我们可以把需要重复写的代码定义在一个方法中,用的时候只需要调用就行。
所以方法是用来解决复用的。
2.定义方法的语法
[访问修饰符] [static] 返回值类型 方法名()
{
方法体;
}
3.关于方法需要注意的几点:
方法一般要定义在类中;
如果方法没有返回值,则返回值类型写void;
方法的命名规则:第一,方法名开头大写,参数名开头小写,参数名,变量名要有意义;
第二,方法的调用,对于静态方法,如果在同一个类中,直接写名字调用就行了;
第三,return可以立即退出方法;
如果方法中没有参数,那么()不能够省略;
4.方法的调用
第一,如果是静态方法(由static修饰的)则使用 类名.方法名()
第二,在自己的类中调用自己的方法可以直接写方法名();
5.关于方法中参数的问题
在方法名后面的括号内定义变量叫做定义这个方法的参数;
这里定义的变量用于接收调用者传过来的数据;
注意:如果一个方法一旦有参数,那么调用者必须传参数,并且传参数的个数与对应位置上的类型必须一致。
当被调用者想得到调用者方法中的变量时,则可以让调用者用参数的形式给被调用者。
6.关于返回值的问题
当调用者想访问我们方法中的变量时,可以通过返回值返回;
只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接收方法的返回值;
注意:一个方法只能有一个返回值;
一旦一个方法有返回值,那么在这个方法体中就必须通过return语句返回一个值,并且这个值要与返回值类型相同的。
典型例子:判断一个年份是否是闰年?
public static bool leapYear(int year)
{
bool result;
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
return true;
}
else
{
return false;
}
}
7.关于方法重载的问题
一般在同一个类中,方法名相同,并且方法的参数的个数不同或者对应位置上的类型不同或者顺序不同,才能构成方法的重载。
注意:方法重载与返回值没有关系(只看参数不看返回值类型)
参数个数不同也可以构成方法的重载
8.什么情况下使用out参数和ref参数
思考:方法只有一个返回值,当我们需要返回多个值时怎么办?
这个问题就引入了out参数和ref参数
9.使用out参数的时候需要注意的问题
第一,在方法的参数类型前加out,那么传递参数的时候,也必须在变量前加out,表明这个参数不是传入的,而是用来传出的。
第二,如果参数是以out形式传入的,那么在传入之前可以不赋初值;
第三,在方法中对于由out修饰的参数,必须赋值,并且必须在使用前赋值(赋值必须放在前面)
10.out参数和ref参数使用上的区别
第一点不同是:out参数用于传出值而ref参数既可以往里传,也可以往外传;
第二点不同是:out在传递之前可以不赋初始值,因为在方法中肯定会为out赋值;
ref在传递之前必须要有值,因为在方法中有可能会用到这个参数的值;
11.典型例子:
用方法实现找出一个int类型数组中最大值和最小值。
class Program
{
static void Main(string[] args)
{
int[] n = { 1,2,3,4,0,19};
int max, min,result;
result = compute(n,out max,out min);//调用compute方法得到最大值与最小值
Console.WriteLine("数组中的最大值为{0} 最小值为{1}", max, min);
Console.ReadKey();
}
public static int compute(int[] n, out int max,out int min)//利用out函数让方法能够有多个返回值
{
max = n[0];//假设max是数组中最大的
min = n[0];//假设min是数组中最小的
for (int i = 0; i < n.Length; i++)//循环输出数组中的元素进行比较大小
{
if (n[i] > max)
{
max = n[i];
}
if (n[i] < min)
{
min=n[i];
}
}
return 0;
}
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------