C#:ref 和 out 的區(qū)別

 public static void Main(string[] args)
        {
           
            int val1 = 0; //一定要初始化
            int val2; //optional,可選

            Keywords1(ref val1);
            Console.WriteLine(val1); // val1=0

            Keywords2(out val2);
            Console.WriteLine(val2); // val2=9
        }
        static void Keywords1(ref int value) //called method
        {
            Console.WriteLine("i am Keyword1");
        }
        static void Keywords2(out int value) //called method
        {
            value = 9; //must be defined 
        }

output
i am Keyword1
0
9

Press any key to continue...

image.png

out作為方法的參數(shù)必須初始化,調(diào)用的時候可不賦值。
ref在傳入方法時必須初始化。
也就是兩者在賦值的時間不同out在Parameters時期賦值,ref在Argument時期賦值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,842評論 0 10
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 11,045評論 0 23
  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    網(wǎng)事_79a3閱讀 12,900評論 3 20
  • 好久都沒接到父親嘮嘮叨叨的電話了! 印象里最不愿接到父親電話,每次都有講不完的交待。基本上話筒里都是他在說、在交待...
    塞上孤煙閱讀 268評論 0 0
  • 1.頭痛吃止痛藥,感冒吃感冒藥,上火吃敗火藥,失眠也能吃安眠藥,可是心痛,卻永遠沒有辦法去形容,也沒有東西可以止痛...
    不甜大哥閱讀 151評論 0 1

友情鏈接更多精彩內(nèi)容