什麼是 out 參數?

概要
out:輸出參數。
使用 out 參數也有兩個注意事項
Nun_1:傳方法到參數之前,可以不用先賦值。
Num_2:在方法內部,必須要有給參數賦值的語句。

我這裏先寫一個參數類型爲 int 的函數,方法體內部先不寫任何東西

static void TestOut(int s)
{

}

接着,我們在參數前面加上 out 關鍵字,看會有什麼不一樣的地方,如下圖
在這裏插入圖片描述
這也驗證了在使用 out 關鍵字的時候,在方法內部,必須要有給參數賦值的語句。

接着,在方法內部給參數 s 賦值,報錯消失
在這裏插入圖片描述
我們知道,用 ref 關鍵字的時候,如果不對變量賦初始值會報錯,但用 out 關鍵字就不會。
這裏我聲明一個類型爲 int 的變量 p,不給其賦初始值,然後調用 TestOut() 方法,如下圖
在這裏插入圖片描述
按F5啓動項目,打印如下
在這裏插入圖片描述
定義p的時候並沒有爲其賦初始值,但是通過 out 關鍵字,我們爲其返回了一個數值。

雖然使用out可以不用賦初始值,但如果給其賦初始值會怎樣呢?如下圖
在這裏插入圖片描述
即使在調用方法之前,爲變量賦值,調用方法之後,還是會更改變量的值,所以沒有必要在方法調用之前爲實參賦值。

拓展:當變量爲值類型的時候,如果沒給其賦初始值,雖然我們知道其默認值爲 0 。但因 c# 語法比較嚴格,不允許直接使用未初始化的值類型的變量,用就會報錯。

發佈了5 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章