1.简单的函数
关键字:static,void
如果有返回值,必须在函数结束前return 返回值
参数一定要匹配
数组也可以作为参数传递,数组中的元素类型一致。
public static void ask(params int[] arg)
{
//todo..
}
2.引用参数和值参数
ref,out都是用来修饰参数的。
ref和out都可以在方法中改变参数的值。
ref需要在方法调用前初始化好参数,而out不用。
如果使用out,必须在方法中初始化out修饰的参数。
static void Main(string[] args)
{
int a = 5;
int b;
Console.WriteLine(plus(ref a,out b));
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadKey();
}
public static int plus(ref int a,out int b)
{
b = 4;
a = a - 5;
b = b - 1;
return 10;
}
输出:
可见,参数在经过函数调用后,已经改变了初始的值。
3.参数的作用域
在函数中,给定的变量有一个作用域,在这个作用域外是不能访问该变量的。比如:
{
string mystring = "456";
Console.WriteLine(mystring);
Console.WriteLine(Program.mystring);
Console.ReadKey();
}
main()方法中的mystring变量只能在该方法中使用。
如果参数定义在函数内部的,称为局部变量。还有一种叫全局变量,如下:
static string mystring="123";
static void Main(string[] args)
{
string mystring = "456";
Console.WriteLine(mystring);
Console.WriteLine(Program.mystring);
Console.ReadKey();
}
可见在main()函数之外已经定义了一个mystring参数,在main函数中可以直接调用。如果全局变量和局部变量名称相同,则用program.mystring来表示全局变量