日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# out ref 用法总结

發布時間:2024/8/24 C# 34 如意码农
生活随笔 收集整理的這篇文章主要介紹了 C# out ref 用法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#里面的 out 和ref參數時常會用到,但對它們的區別比較模糊。所以總結一下。下面是測試代碼:

 public void Start()
{
//outSum沒必要賦值,賦值了也完全沒用。
//如果AddByOut函數內部直接使用out對應的參數,會報錯:使用了未被賦值的 out 參數a
int outSum = ;
int ov1 = ;
int ov2 = ;
AddByOut(out outSum, ov1, ov2);
Console.WriteLine("outSum : " + outSum + " v1: " + ov1 + " v2: " + ov2); //refSum 必須賦值
int refSum = ;
int rv1 = ;
int rv2 = ;
//如果refSum沒有賦值,這里會報錯:使用了未賦值的局部變量 refSum
AddByRef(ref refSum, rv1, rv2);
Console.WriteLine("refSum : " + refSum + " v1: " + rv1 + " v2: " + rv2);
} public void AddByOut(out int a, int b, int c)
{
//a = a + b + c;// a 未被賦值,不能直接使用,即使是調用的地方 out對應的參數初始化也沒用
a = b + c;
} public void AddByRef(ref int a, int b, int c)
{
a = a + b + c; // 可以直接使用a
}

測試結果:

總結:   1、調用帶ref關鍵字的函數,必須對 ref 對應的參數賦值;而out關鍵字不需要。

    2、帶ref 關鍵字的函數內部可以直接使用 ref 對應的參數;out 關鍵字的函數,必須在函數內部對out對應的參數賦值后才能使用。

      (歸結1,2點:ref在外面初始化,out在里面初始化)

    3、兩個關鍵字都能使值類型按引用類型使用,即修改了函數外部申明的變量

注:更多專業介紹請參考微軟官方文檔

out 參數修飾符(C# 參考)  https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/out-parameter-modifier

ref(C# 參考)                      https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/ref

總結

以上是生活随笔為你收集整理的C# out ref 用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。