前言
原本打算紀錄更加困難的Delegate,不過要解釋之前,還有一些內容之前沒有撰寫,所以這篇文章就變成回傳類型的介紹及用途和用法,這對C#初學者來說需要花一段時間搞懂,我當初也是會用但不懂的狀況。
更新:後面我也沒用到Delegate,雖然我有搞懂它的運作原理,不過後面我發現如果用最基本的程式可能會更好一些。
變數或函數
首先要談到變數跟函數的基本架構,我們在撰寫程式時在定義外會有「()」或「{}」來包裝參數或函式,範例如下:
//變數基本宣告
private int number;
//附帶參數之變數
private int number(int a,int b)
{
return;
}
//函式基本宣告
private void Method01()
{
...
}
private void Method02(int a)
{
...
}
在官方的教學跟Youtube的教學上面,有時候會看到類似的變數和函數
有沒有因為不太確定那是幹嘛的?或是好像知道但不確定?
回傳(return)
在變數和函式中,基本上每一個有進行運算的資料,就需要回傳目標,如果不需回傳的無類型(void)類型,則不會進行回傳。void在英文詞彙中代表虛無的意思,程式中則代表運算完後不會回傳,計算本身就是目的。
回傳指在一切計算完成後,完成計算的值會給誰,有點類似我丟了檸檬進去榨汁機,而我需要檸檬汁,所以我必須要指定回傳給我的是檸檬汁,無論是函式或變數,在計算中可能會有非常多的數值參雜在內,回傳的對象除了自己本身以外,還可以是其他值。
簡單看過一次最好理解,以下是範例:
//普通的宣告
private int a;
//同樣意思,使用return來呈現
private int a
{
return;
}
簡單來說「{}」內都是計算,而計算都需要有回傳值,沒指定就是自己,計算區可以添加參數,範例如下:
private int a(int a,int b ){....}
而「()」外的a是變數的名稱,「()」內的a是計算式用到的整數a,容易理解的差別在於,「()」內的a別的程式無法呼叫,而且隨著不同呼叫會不同,在其他地方的呼叫會變成下方範例:
a(1,2);
其中,a就變成了數字1,而變數a則是計算結束後回傳的值。
無類型(void)回傳
這個也很好懂,就是這個值不需要回傳,通常用於函數,也就是計算本身就是目的,在資料型態的宣告前面添加「void」即可。
private void method01()
{
//計算的內容
}
private void method02(int a,int b)
{
//計算的內容(必定包含a&b)
}
結尾
我本來以為變數跟函式的回傳會很快就寫完,結果沒想到一不留神就撰寫了滿長的一段,不過越基礎的內容,似乎就越重要跟越容易被忽略,在撰寫程式之餘多了解程式的構成相當重要。