一、 函數普通使用方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Function { class staticFunction { public static void staticFunctionTest() { Console.WriteLine("這是某個類的static類型的函數,用來進行測試"); } } class Program { public static void TestFunction() { Console.WriteLine("這是測試函數!!!"); } public static void Main(string[] args) { //注意還可以定義包括Main()函數的類的變量,並且可以實例化 //Program cMyProgram=new Program(); //測試遞歸調用Main函數的效果 //cMyProgram.Main("1","2"); //不能 //如果類成員函數定義為static,那么用類名引用 //而且不需要實例化對象 Program.TestFunction(); //調用類的靜態函數, 類的靜態函數不需要實例化對象也可以引用。 staticFunction.staticFunctionTest(); Console.ReadKey(); } } }
二、值參數函數
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace argument { class Variable { public int iVar = 20; } /// <summary> /// 演示值類型形式參數調用的過程 /// </summary> class Funtion { /// <summary> /// 定義一個函數,這個函數用來輸出信息 /// </summary> /// <param name="c1">這個參數接受一個Variable類的對象</param> /// <param name="b">這個參數接受一個int變量</param> public void print(Variable c1, int b) { //由於傳遞的是對象,所以對象的成員字段的值在此被修改,即便退出函數調用 //對象的對應的成員字段的值也將保持修改后的值 //主令,因為 Variable 類對象定義的成員字段為 iVar = 20, // 經過下面的操作后,變成 25, 當退出這個函數后, 實際參數對象的對應的值也將為25 c1.iVar = c1.iVar + 5; //而如果不是類對象,當退出函數后,實際參數的值將保持傳入到函數里面原來的值 b = b + 5; Console.WriteLine("這是在Function類里面"); Console.WriteLine("v1.iVar = {0} , b = {1}",c1.iVar,b); } } class Program { static void Main(string[] args) { Funtion f1 = new Funtion(); Variable v1 = new Variable(); int b=5; f1.print(v1, b); Console.WriteLine("\n這是在Main函數里面"); //這個地方打印出來的值,演示了, 值類型參數為 對象、或者簡單類型的差別 Console.WriteLine("v1.iVar = {0} , b = {1}", v1.iVar, b); Console.ReadKey(); } } }
三、引用類型參數
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace argument { class Variable { public int iVar = 20; } /// <summary> /// 演示引用類型 形式參數調用的過程 /// </summary> class Funtion { /// <summary> /// 定義一個函數,這個函數用來輸出信息 /// </summary> /// <param name="c1">這個參數接受一個Variable類的對象</param> /// <param name="b">這個參數接受一個int變量</param> public void print(ref Variable c1, ref int b) { //由於傳遞的是對象的引用,所以對象的成員字段的值在此被修改,即便退出函數調用 //對象的對應的成員字段的值也將保持修改后的值 //主令,因為 Variable 類對象定義的成員字段為 iVar = 20, // 經過下面的操作后,變成 25, 當退出這個函數后, 實際參數對象的對應的值也將為25 c1.iVar = c1.iVar + 5; //因為形式參數b定位為引用類型,當函數調用是傳遞給函數的是實際參數的引用, //當退出函數后,實際參數的值將修改為執行下面語句操作后的值 b = b + 5; Console.WriteLine("這是在Function類里面"); Console.WriteLine("v1.iVar = {0} , b = {1}", c1.iVar, b); } } class Program { static void Main(string[] args) { Funtion f1 = new Funtion(); Variable v1 = new Variable(); int b = 5; //注意,不管是class類型的參數調用,還是簡單類型的參數調用,如果定義為 //ref類型,則調用的時候,必須加上關鍵字 ref f1.print(ref v1, ref b); Console.WriteLine("\n這是在Main函數里面"); //這個地方打印出來的值,注意 值類型參數 和 ref 引用類型參數的差別 Console.WriteLine("v1.iVar = {0} , b = {1}", v1.iVar, b); Console.ReadKey(); } } }
--------------------------------------------------------------分割線---------------------------------------------------------------
1、文章均為個人原創,歡迎轉載,轉載請保留出處:https://www.cnblogs.com/volcanol/
2、獲取工控PLC、變頻器、HMI、計算機、Windows、Linux、嵌入式資料點擊:獲取資料
3、如果您覺得文章對您有幫助可轉至頁面上半部分打賞,或移步:打賞
4、或者在頁面右下角點推薦喲!!!
--------------------------------------------------------------分割線---------------------------------------------------------------