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 = ;
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 = ;
a = a - ;
b = b - ;
return ;
}
輸出:
可見,參數在經過函數調用後,已經改變了初始的值。
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來表示全局變量