前言
感觉C#中比较重要的就是方法的使用,最常见的应该也是方法的使用,所以来讲一讲方法,方法可以有返回值可以没有返回值,可以有参数也可以没有参数,
定义方法
public string say()
{
Console.WriteLine("Hello,world");
}
这段代码中,say 是我定义的方法的名字,后面的括号中没有内容,就代表这个方法没有参数
public static int Show(int num1,int num2)
{
return num1 > num2 ? num1 : num2;
}
这个方法的返回值为 int 类型 Show 是我定义的方法的名字,括号中的 num1 和 num2 是参数
注释
这个注释和 // 后面的注释不太一样
/// <summary>
/// 此方法用来比较两个数的大小,返回的是最大值
/// </summary>
/// <param name="num1">用户传过来的第一个数</param>
/// <param name="num2">用户比较的第二个数</param>
///
public static int Show(int num1,int num2)
{
return num1 > num2 ? num1 : num2;
}
这样写好注释后呈现的效果是这样的,就和C#中的提示一个样子,还是很有趣的
方法调用
如果想要调用一个方法的时候在另外一个方法中直接写想要调用的方法的名字就可以了,但是要注意参数问题,和返回值类型,如果调用我的第一个 say 方法的话,那我就定义一个string类型的 变量来接收这个值
如果我调用第二个方法的话,就要先给 num1 和 num2 赋值后再调用这个方法,
int num1=10;
int num2=19;
max=Show(num1,num2);
方法重载
方法重载是指方法名相同,但是参数不同,参数的个数不同,类型也不同
方法的重载和返回值无关,和参数的类型和个数有关
方法修饰符
Params
在一个方法中只能放一种类型的参数,但是如果我们想要的参数类型不同怎么办,所以就需要params出场了
可以放不同类型的参数
out
out修饰方法的参数了,那么在方法外面可以不给这个参数赋值,但是在方法里面必须给这个out修饰符的参数赋初值
static void Main(string[] args)
{
int number1;
int sum = AddNumber(out number1);
Console.WriteLine(number1);
Console.WriteLine(sum);
Console.ReadKey();
}
public static int AddNumber(out int num1)
{
num1 = 100;
return num1 + 20;
}
ref
ref用的时候必须给这个变量赋初值,和out有区别,out可以把方法的值传出去
ref可以把值传导方法里,也可以把值传到方法外