三個高階引數,out、ref、params。
out與ref都是位址傳遞。ref是直接傳遞實參操作,而out是形參操作,呼叫時必須提前宣告乙個實參變數,形參賦位址值給它,形參變實參,即ref是實參進出,而out是形參進去,出來的時候把位址賦值給實參,形參變實參。
一:out用法,
out用來返回不同型別的多個值,同型別的用陣列
//函式的使用不受限於定義的前後順序class program
static void main(string args)
}
//out的用法練習,用來返回多型別返回值。二:ref 的用法!實參與形參:參考(class program
,資訊為:", state, mes);
console.readline();
}public static bool mmchecker(string names,int passwords,out string message)//message為形參,宣告
else }}
ref 關鍵字會通過引用傳遞引數,而不是值。通過引用傳遞的效果是在方法中對引數的任何改變都會反映在呼叫方的基礎引數中。
引用引數的值與基礎引數變數的值始終是一樣的。類似指標
//形參的呼叫完成後即銷毀,所有函式型別沒有返回值就沒有意義。除非傳遞指標進去三,params的用法,params必須是形參的最後乙個才行,且僅能有乙個paramsclass program
,則結果在函式內部直接修改
string c = "abc";
m2(ref c);
console.writeline(c);//abc123,ref位址傳遞
console.readline();
}public static void m1(int a)
public static void m2( ref string c)
}
class program四,方法的過載方法名相同,實現的功能不同,算是一種偷懶方法,函式名字相同且形參個數和型別不能同時相同,返回值型別與過載沒關係;heel("yaoyue",c);//第一種寫法
heel("yaoyue", 1, 2,3, 4, 5);//第二種寫法,提示params可以用同型別陣列的單個元素填充,用,隔開即可
}public static void heel( string name ,params int a)//params 必須是一堆陣列
}
}
上面為共有4個過載方法
五、方法的遞迴,退出時:怎麼乙個個進來怎麼乙個個出去
最常見的例子如:一層層遍歷遞迴子目錄列出所有檔名
class programpublic static void tellstory()}}
class programpublic static void tellstory(int count=0) //預設值為0
else
}
}
class program練習: 1. 輸入最大最小值求中間數的和,帶使用者輸入合法性驗證public static int a = 0; //宣告乙個program類中的靜態字段,不用static則必須用program.a ,靜態字段作用整個類,不屬於例項,引用非靜態的【類名.變數名】是必須的
public static void tellstory() //預設值為0
else
}
}
class program/// /// 返回使用者輸入的2個數字,最大值與最小值,不合法則迴圈
///
/// 輸入數字組成的陣列
public static int getnmbers()
else
}catch}}
/// /// 計算陣列內2個元素最大值與最小值中間數的和
///
/// int陣列
public static void sumnumbers(int numbers)
console.writeline("和為:" + sum);
console.readkey();}}
c 基礎 方法(函式)
方法就是將一堆 進行重用的一種機制。方法就是一段 這段 可能有輸入的值 引數 可能會有返回值。乙個方法就想乙個專門做這件事的人,我們呼叫它來完成一些事情,它可能需要我們提供一些資料給它,它執行完後可能會有一些執行結果給我們。要求的資料就叫引數,返回的執行結果就是返回值。string s consol...
初識C語言函式及練習
1.實現乙個函式,列印乘法口訣表,口訣表的行數和列數自己指定,輸入9,輸出99口訣表,輸入12,輸出1212的乘法口訣表。define crt secure no warnings 1 include include void mul int n printf n intmain 2.使用函式實現兩...
C 友元函式基礎練習
include includeusing namespace std 定義time類 資料成員 m ihour,m iminute,m isecond 成員函式 建構函式 友元類 watch class time private int m ihour int m iminute int m ise...