c# out关键字 vb_在c#中使用out关键字
任何人都可以建議我確切使用out關鍵字作為參數,以及它如何連接從函數返回多個值,如在POST中,我與變量與正常變量混淆.任何人都可以幫助我.
解決方法:
這經常令人困惑,我認為MSDN文檔實際上有點“只有在已知的情況下才會清楚”.也就是說,它是正確的,但只有你已經理解了這個概念才真正有意義.
這是我如何看待它.
常規參數生成參數值的副本.當你說:
static int M(int z) { z = z + 1; return z; }
...
int x = 123;
int y = M(x);
就像你說的那樣:
int x = 123;
int z = x; // make a copy of x
z = z + 1;
int y = z;
ref或out參數為現有變量創建別名.當你說
static void N(ref int q) { q = q + 1; }
...
int x = 123;
N(x);
這跟說:
int x = 123;
// MAGIC: q is now an another name for variable x
q = q + 1;
q和x是兩個不同的名稱,它們指的是同一個變量.遞增q也會增加x,因為它們是相同的.前一個示例中的z和x是兩個不同的名稱,它們指的是兩個不同的變量.增加z不會改變x.
總結:“out”和“ref”只是表示“不要創建新變量;而是暫時為現有變量創建第二個名稱”.
那現在清楚了嗎?
更新:我沒有說“out”和“ref”之間的區別是什么.區別很簡單.在“調用方”一側,在調用方法之前,“ref”必須是明確賦值的變量. “出局”不一定是.在“被調用方”一側,可以在寫入之前讀取“ref”,但必須在讀取之前寫入“out”.此外,必須在控制正常離開方法之前寫入“out”.
標簽:c,net,keyword,out
來源: https://codeday.me/bug/20190712/1442417.html
總結
以上是生活随笔為你收集整理的c# out关键字 vb_在c#中使用out关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: this指向undefined uiap
- 下一篇: 实现远程调用_远程过程调用(RPC)是怎