真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

out和ref-我的理解

 out和ref

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供象山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、HTML5、小程序制作等業(yè)務(wù)。10年已為象山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

           相同點(diǎn):

凡是使用了這兩個(gè)修飾的,都是引用傳遞。

           不同點(diǎn):

out 側(cè)重于輸出的參數(shù),也就是調(diào)用方法是為了通過參數(shù)的方式獲得值。通常在方法中,需要返回多個(gè)值的時(shí)候使用。所以,out參數(shù)必須在方法返回(結(jié)束之前)賦值。

 *out有種“醉翁之意不在酒”的感覺。調(diào)用使用了含out參數(shù)的函數(shù),目的是為了之后,拿出out修飾的那個(gè)變量,而不在于之前它的初值是什么,即便當(dāng)初賦值了,也無妨。

ref 側(cè)重于修改,調(diào)用方法是為了在方法中修改這個(gè)變量。所以,ref參數(shù)必須在傳入之前就賦值。
 *如同每個(gè)月都會(huì)發(fā)工資,然后你有計(jì)劃地消費(fèi)一樣。“工資”相當(dāng)于那個(gè)被ref修飾的變量。
 
out具體代碼實(shí)現(xiàn):
...
      static void Main(string[] args)
        {
            Console.WriteLine("請(qǐng)輸入你的登錄名");
            string name = Console.ReadLine();
            string msg;//在這里,賦值也無妨,但是屬于多余。
 
            OutTest(name, out msg);
 
            Console.WriteLine("使用調(diào)用了OutTest函數(shù)后的變量msg,msg的值是" + msg);
 
            Console.ReadKey();
 
        }
      static void OutTest(string logainName, out string message)
        {
        //在這個(gè)函數(shù)中,out修飾的參數(shù),必須被賦值。否則,完成該函數(shù),無法拿出對(duì)應(yīng)的值!
            if (logainName == "JamesLiang")
            {
                message = "登錄成功!";
            }
            else
            {
                message = "登錄失敗了";
            }
        }
 
ref具體代碼實(shí)現(xiàn):
...
      static void Main(string[] args)
        {
            int salary = 3000;//使用之前,必須賦值!
 
            RefTest1(ref salary);
            RefTest2(ref salary);
            RefTest3(ref salary);
 
            Console.WriteLine("最終薪水還有" + salary.ToString());
       }
       static void RefTest1(ref int m)
        {
            m = m - 100;
            Console.WriteLine("調(diào)用RefTest1方法,薪水還有" + m.ToString());
        }
 
        static void RefTest2(ref int m)
        {
            m = m - 200;
            Console.WriteLine("調(diào)用RefTest2方法,薪水還有" + m.ToString());
        }
        static void RefTest3(ref int m)
        {
            m = m - 300;
            Console.WriteLine("調(diào)用RefTest3方法,薪水還有" + m.ToString());
 
        }

本文名稱:out和ref-我的理解
新聞來源:http://weahome.cn/article/igigpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部