1.定义方法:访问修饰符 返回类型 方法名称 (参数列表) {方法主体}
2.方法调用
3.递归方法调用
4.参数传递:
1)按值传递参数
这种方式复制参数的实际值给形参,实参和形参使用的是不同内存中的值,这种情况下,当形参的值发生改变时并不会影响实参的值。
如: public void swap(int x, int y){
int temp; temp = x; /* 保存 x 的值 */
x = y; /* 把 y 赋值给 x */
y = temp; /* 把 temp 赋值给 y */
}
int a = 100 ; int b = 200;
n.swap(a, b);
Console.WriteLine("在交换之后,a 的值: {0}", a); //输出100
Console.WriteLine("在交换之后,b 的值: {0}", b); //输出200
2)按引用传递参数
引用参数是一个对变量内存位置的引用,与按值传递参数不同,它不会为这些参数重新创建一个内存位置,引用参数与提供方法的实际参数有相同的内存位置,因此当引用参数的值改变时,相应的实参也会改变。 在c#中,使用 ref来声明引用参数。
public void swap(ref int x, ref int y)
{
int temp;
temp = x; /* 保存 x 的值 */
x = y; /* 把 y 赋值给 x */
y = temp; /* 把 temp 赋值给 y */
}
int a = 100;
int b = 200;
Console.WriteLine("在交换之前,a 的值: {0}", a);
Console.WriteLine("在交换之前,b 的值: {0}", b);
/* 调用函数来交换值 */
n.swap(ref a, ref b);
Console.WriteLine("在交换之后,a 的值: {0}", a);
Console.WriteLine("在交换之后,b 的值: {0}", b);
3)按输出传递参数
return语句可用于只从函数中返回一个值,但可以使用输出参数来从函数中返回两个值。输出参数会把方法输出的数据赋给自己,提供给输出参数的变量不需要被赋值,但值参数和引用参数都需要,当需要从一个参数没有指定初始值的方法中返回值时,输出参数特别有用。