(01)函数的声明,定义
是否为static类型(默认空,非static类型)+ 返回类型 (无返回类型void)+函数名(参数列表/可无参数){}(02)函数的重载
重载:同名不同参数(注:返回类型也可以不一样。例子:求2数的和,int类型和double类型)
//mian是静态方法只能调用静态方法
static void Main(string[] args)
{
//函数的重载 函数重名,参数类型/个数不同满足两条件就构成重载。
Say("李广");
Say(20);
Say("李广",20);
Console.ReadKey();
}
static void Say(string name)
{
Console.WriteLine("你好{0}",name);
}
static void Say(int age)
{
Console.WriteLine("我{0}岁了",age);
}
static void Say(string name,int age)
{
Console.WriteLine("我名字是{0},我{1}岁了",name,age);
}
(03)参数列表中:ref,out,params关键字
params关键字:
函数:
//params 必须是参数表中的最后一项
//params 函数只能有一个params
//params 修饰的是数组,来接受未知的参数个数。
public static void Say(string name, params string[] nicknames)
{
Console.WriteLine("我的名字是{0}", name);
foreach (string nickname in nicknames)
{
Console.WriteLine("我的昵称是{0}", nickname);
}
}
调用函数:
static void Main(string[] args)
{
Say("江夏", "小二", "狗蛋", "王菲");
}
值类型和引用类型:
//int是值类型
int i = 10;
int b = 11;
Inc(i);//改变的是拷贝的
Inc(ref b);
Console.WriteLine(i);//10没变
Console.WriteLine(b);//12
Icn函数,ref关键字:
static void Inc(int i)
{
i++;
}
static void Inc(ref int i)//ref就是引用
{
i++;
}
out关键字:表示输出一个值
static void Inc(out int i)//out通俗就是输出一个值,一般用于多个返回值场景
{
i = 19;
}
比如常用的int.TryParse函数,他转换成功就输出对应的值。用out 来实现的。