您好,登錄后才能下訂單哦!
這篇“c#的out參數怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“c#的out參數怎么使用”文章吧。
如果你在一個方法中,返回多個相同類型的值的時候,可以考慮返回一個數組。但是如果返回多個不同類型的值的時候,返回數組就不行了,那么我們我們可以考慮使用out參數。out參數就側重于在一個方法中可以返回多個不同類型的值,當然它也可以返回多個相同類型的值。
///<summary///計算一個整數數組的最大值、最小值、平均值、總和///</summary>///<param name="nums">要求值的數組</param>///<param name="max">多余返回的最大值</param>///<param name="min">多余返回的最小值</param>///<param name="sum">多余返回的總和</param>///<param name="avg">多余返回的平均值</param>public static void Test(int[] nums, out int max, out int min,out int sum,out int avg) { // out參數要求在方法的內部必須為其賦值 max = nums[0]; min = nums[0]; sum = 0; for (int i =0; i< nums.length; i++) { if (nums[i] > max) { max = nums[i]; } if (nums[i] < min) { min = nums[i]; } sum += nums[i]; } avg = sum / nums.Length;}
使用該方法,在main函數里面
int[] numbers = {1,2,3,4,5,6,7,8,9};int max = 0;int min = 0;int sum = 0;int avg = 0;Test(numbers,out max,out min, out sum, out avg);
調用時候起的名字,跟方法里面的名字不需要完全一樣哦~比如這邊可以改寫成
int[] numbers = {1,2,3,4,5,6,7,8,9};int max1 = 0;int min1 = 0;int sum1 = 0;int avg1 = 0;Test(numbers,out max1,out min1, out sum1, out avg1);
這邊其實還能不給它賦值,如下寫法:
int[] numbers = {1,2,3,4,5,6,7,8,9};int max1;int min1;int sum1;int avg1;Test(numbers,out max1,out min1, out sum1, out avg1);
out參數一定一定要在內部返回值,否則報錯。
來個小練習
static void Main(){ // 分別的提示用戶輸入用戶名和密碼 // 你寫一個方法來判斷用戶輸入的是否正確 // 返回給用戶一個登錄結果,并且還要單獨的返回給用戶一個登錄信息 // 如果用戶名錯誤,除了返回登錄結果之外,還要返回一個"用戶名錯誤" // "密碼錯誤" Console.WriteLine("請輸入用戶名"); string userName = Console.ReadLine(); Console.WriteLine("請輸入密碼"); string userPwd = Console.ReadLine(); string msg; bool b = IsLogin(userName, userPwd, out msg); Console.WriteLine("登錄結果{0}", b); Console.WriteLine("登錄信息{0}", msg); Console.ReadKey();}
public static bool IsLogin(string name, string pwd, out string msg) { if (name =="admin" && pwd == "888888") { msg = "用戶成功"; return true; } else if (name == "admin") { msg = "密碼錯誤"; return false; } else if (pwd == "888888") { msg = "用戶名錯誤"; return false; } else { msg = "未知錯誤"; return false; }}
以上就是關于“c#的out參數怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。