溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#輸出參數(shù)out問題如何解決

發(fā)布時間:2023-02-25 09:29:46 來源:億速云 閱讀:134 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“C#輸出參數(shù)out問題如何解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#輸出參數(shù)out問題如何解決”吧!

    C# 輸出參數(shù)out

    什么是輸出參數(shù)

    方法聲明時,使用out修飾符聲明的形參,成為輸出參數(shù)。

    輸出參數(shù)的特點

    1、輸出參數(shù)不創(chuàng)建新的儲存位置。

    2、輸出參數(shù)表示的儲存位置就是實參表示的儲存位置。

    3、傳遞給輸出參數(shù)的實參在方法調(diào)用前不需要強制初始化,在方法內(nèi)部使用該形參時,需要強制賦值一次。

    out參數(shù)的使用

    使用out參數(shù),可以使方法返回多個返回值。

    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;
    }

    C#中out參數(shù)、ref參數(shù)與值參數(shù)用法

    ref參數(shù)是引用,out參數(shù)為輸出參數(shù)。

    out參數(shù)修飾符

    1、當(dāng)希望方法返回多個值時,聲明 out 方法非常有用。

    2、不必初始化作為 out 參數(shù)傳遞的變量。然而,必須在方法返回之前為 out 參數(shù)賦值。

    3、屬性不是變量,不能作為 out 參數(shù)傳遞。

     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參數(shù)必須在定義方法內(nèi)進(jìn)行賦值
                    isTrue = true;
                }
                catch
                {
                    isTrue = false;
                    result = 0;
                }
                return isTrue;
            }

    該方法返回類型為bool類型,在返回bool類型的同時也順帶返回了int類型的result變量。即,返回兩種變量類型。

    ref參數(shù)修飾符

    1、必須使用初始化過的變量

    2、屬性不是變量,不能作為 ref 參數(shù)傳遞。

    3、Ref則用在要要被調(diào)出使用的方法修改調(diào)出使用者的引用的時候。

    ref參數(shù)在定義的方法內(nèi)對其進(jìn)行處理,再將結(jié)果返回,定義方法無需多余的返回類型。

     static void Main(string[] args)
            {
                //使用ref參數(shù)來交換兩個數(shù)字的值
                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#輸出參數(shù)out問題如何解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#輸出參數(shù)out問題如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    out
    AI