最近學了學C#, 我知道這樣不專一不太容易深刻,沒辦法,就當玩吧。java
C#繼承了C++一個很好的語音特性: 可選參數,就是一個函數的參數能夠有缺省值,調用方若是沒傳,就用缺省值來代替,相似這樣:數組
public void Join(string a, string b="") { return a+b; } public void test() { //這句會返回 This is; Join("This","is"); //這句會返回 Ok Join("Ok"); }
Java至今也沒有這樣簡潔的語法,一般只能用函數重載來代替,當缺省參數多的時候,寫起來巨麻煩,Java8的Optional類也是個挺醜陋的方案,具體的這裏有人詳細總結了(Java Optional Parameters --from stackoverflow)app
但使用時有兩個注意事項:函數
public void Join(string a, string[] b=null) { return b==null ? a : a+ string.Join("",b); } public void test() { //這句會返回 This is an apple; Join("This",{" is"," an"," apple"}); //這句會返回 Ok Join("Ok"); }