上一篇文章咱们讲到了类的数据成员:字段,常量及事件,那么这一篇咱们主要来看一下C#当中的函数成员:方法,属性,构造函数,折构函数,索引器,操做符.
方法: 在C#中是一个很是重要的概念,在这里的方法与其它语言中的函数相同,从字面意思上咱们理解方法是指为达到某种目的而采起的途径,步骤,手段.那在咱们C#中,方法定义的就是一个类的行为,是一段程序执行的步骤.在之前的内容中咱们一直都在用方法来作为实现行为的容器.
方法:

/**/
/// <summary>
/// MyMagic不带参数,无返回值的公有方法
/// </summary>
public
void
MyMagic()

{
//实现魔法
}

/**/
/// <summary>
/// MyMoney不带参数,有返回值的私有方法
/// </summary>
/// <returns>输出N多9</returns>
private
int
MyMoney()

{
return 9999999;
}


/**/
/// <summary>
/// MyMoney带参数,有反回值的私有方法
/// </summary>
/// <param name="money">参数为money</param>
/// <returns>输出money</returns>
public
int
MyMoney(
int
money)

{
return money;
}
在这里咱们举了一此例子,与咱们在学第二篇
快速撑握C#知识点之编写一个C#程序 时的Main基本相同.在这里要说明的是几个概念:
方法的标签:就是指整个方法的第一行如
public int MyMoney(int money)咱们把这一行全部的内容称为方法的标签.
方法的参数:是指在标签当中括号括起来的部分如上例中的int money,方法的参数是能够有多个的,中间要用","号分隔.
方法的实现:指{}及其中间的全部内容.
ref关健字:能够作为进参,同时也能够作为出参.能够看下例理解.
public
void
Main()

{
int inti = 1;
int intj = 1;
Program pro = new Program();
pro.MyMoney(ref inti,intj);//使用 ref关健字,把inti参数传入方法MyMoney方法中.
Console.WriteLine("i={0},j={1}",inti,intj);
}

public
void
MyMoney(
ref
int
inti,
int
intj)

{
inti = inti + 99;
intj = intj + 99;
}
以上程序的输出结果为:i=100,j=1
经过结果,咱们能够看的出来ref关健字的做用,是指能够把MyMoney方法外部的变量inti的值传入方法中,在方法的实现运行完成以后将其计算结果的值再传出到变量inti中,而另外一个变量intj并无使用ref,那获得的结果就只是变量原来的值.咱们能够得出ref 关健字就是起在使用方法时参数传递过程当中能够做为进参,同时也能够作为出参.
out关健字:只能够作为出参
public
void
Main()

{
int inti;
int intj = 1;
Program pro = new Program();
pro.MyMoney(out inti,intj);
Console.WriteLine("i={0},j={1}",inti,intj);
}

public
void
MyMoney(
out
int
inti,
int
intj)

{
inti = 1;
inti = inti + 99;
intj = intj + 99;
}
以上程序的输出结果为:i=100,j=1
根据代码咱们能够看的出inti变量并无被显式的初始化值,能够看的出使用out关健字并不会把值传入方法当中.可是实现方法以后,会把参数再传递出来.
params 关健字:动态数组参数,在方法内部与main方法读取命令行参数相似.看下例:
public
void
Magic(
params
int
[] i)

{
foreach(int ii in i)

{
Console.WriteLine(ii);
}
}
在使用方法时:
Magic(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
)
params 关键字不容许任何其余参数,方法声明中只容许一个
params 关键字。