您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#輸出參數out問題如何解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#輸出參數out問題如何解決”吧!
方法聲明時,使用out修飾符聲明的形參,成為輸出參數。
1、輸出參數不創建新的儲存位置。
2、輸出參數表示的儲存位置就是實參表示的儲存位置。
3、傳遞給輸出參數的實參在方法調用前不需要強制初始化,在方法內部使用該形參時,需要強制賦值一次。
使用out參數,可以使方法返回多個返回值。
static void Main(string[] args) { int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int max; int min; int sum; double avg; int[] arr = GetMaxMinSumAvg(numbers, out max, out min, out sum, out avg); Console.WriteLine(max); Console.WriteLine(min); Console.WriteLine(sum); Console.WriteLine(avg); Console.WriteLine(arr.Length); Console.ReadKey(); } public static int[] GetMaxMinSumAvg(int[] nums, out int max, out int min, out int sum, out double avg) { int[] res = new int[4]; max = nums.Max(); min = nums.Min(); sum = nums.Sum(); avg = nums.Average(); return res; }
ref參數是引用,out參數為輸出參數。
1、當希望方法返回多個值時,聲明 out 方法非常有用。
2、不必初始化作為 out 參數傳遞的變量。然而,必須在方法返回之前為 out 參數賦值。
3、屬性不是變量,不能作為 out 參數傳遞。
static void Main(string[] args) { string s = "123"; int result; bool b = MyTest(s,out result); } public static bool MyTest(string s, out int result) { bool isTrue; try { result = Convert.ToInt32(s);//使用out參數必須在定義方法內進行賦值 isTrue = true; } catch { isTrue = false; result = 0; } return isTrue; }
該方法返回類型為bool類型,在返回bool類型的同時也順帶返回了int類型的result變量。即,返回兩種變量類型。
1、必須使用初始化過的變量
2、屬性不是變量,不能作為 ref 參數傳遞。
3、Ref則用在要要被調出使用的方法修改調出使用者的引用的時候。
ref參數在定義的方法內對其進行處理,再將結果返回,定義方法無需多余的返回類型。
static void Main(string[] args) { //使用ref參數來交換兩個數字的值 int a = 1; int b = 2; Change(ref a, ref b); Console.WriteLine("a{0},b{1}",a,b); Console.ReadKey(); } public static void Change(ref int a, ref int b) { int temp; temp = a; a = b; b = temp; }
感謝各位的閱讀,以上就是“C#輸出參數out問題如何解決”的內容了,經過本文的學習后,相信大家對C#輸出參數out問題如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。