---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1.方法:就是将一堆代码进行重用的机制,方法中可能有参数,也可能有返回值。
方法的作用:方法就是复用代码段的,如果一个过程中反复使用了同样的代码段,我们就可以把重复的代码段进行定义成一个方法来调用
方法定义的语法
[访问修饰符] [static] 返回值类型 方法名(参数)
{
//方法体;
}
方法一般都是定义在类中。
public static void ReadInt()
{
//方法体
Console.ReadLine();
}
2.参数
作用:在方法的小括号中定义的变量,叫做这个方法的参数,用于接收调用者传过来的数据,称为形参。
如果一个方法有参数,调用者必须传递参数给方法,且传参的个数和类型都必须与方法的参数个数和类型一致。
public static void Test(int num,string str)
{
//方法体
Console.ReadLine();
}
如在上面的程序中这个方法有两个参数且为int 和 string 类型的,在调用Test方法时,就必须传递给Test方法两个参数,且参数的顺序必须为第一个为整形,第二个为字符串类型。
int number = 2;
string str = "test";
Test(number,str);
3.返回值
如果一个方法的返回值类型不是void 那么在方法提中就必须返回一个同方法返回值类型相同的值
4.out 和 ref
out: 在方法的参数类型前加out,那么必须在调用方法时必须在参数前面加out,用户表明这个参数是用来传出值的,可以不赋初值,即使在传入时,赋值了初始值,在方法体中必须对其赋值。
public static void Test(int num,out string str)
{
str = "test";
//方法体
Console.ReadLine();
}
使用:
int number = 2;
string str = "test";
Test(number,out str);
ref: 既可以传值,又可以返回值。ref: 可以在方法体中不用重新赋值再使用,可以直接使用,但在传入参数时,必须初始化。
public static void Test(int num,ref string str)
{
str = "test";
//方法体
Console.ReadLine();
}
使用:
int number = 2;
string str = "test";
Test(number,ref str);
5.实例:实现一个冒泡排序的方法
int[] scores = {18,20,48,76,20,38,87,90,37,45,65,65,34,67,95 };
for (int i = 0; i < scores.Length - 1; i++)
{
for (int j = 0; j < scores.Length - 1-i; j++)
{
if(scores[j]<scores[j+1])
{
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine(scores[i]);
}
Console.ReadKey();