Java蜘蛛人 歡迎大家

          歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
          posts - 54, comments - 192, trackbacks - 0, articles - 1
          ref是傳遞參數的地址,out是返回值,兩者有一定的相同之處,不過也有不同點。  
              使用ref前必須對變量賦值,out不用。   
              out的函數會清空變量,即使變量已經賦值也不行,退出函數時所有out引用的變量都要賦值,ref引用的可以修改,也可以不修改。   
              區別可以參看下面的代碼:   
            using System;
            class TestApp
            {
             static void outTest(out int x, out int y)
             {//離開這個函數前,必須對x和y賦值,否則會報錯。
              //y = x;
              //上面這行會報錯,因為使用了out后,x和y都清空了,需要重新賦值,即使調用函數前賦過值也不行
              x = 1;
              y = 2;
             }
             static void refTest(ref int x, ref int y)
             {
              x = 1;
              y = x;
             }
             public static void Main()
             {
              //out test
              int a,b;
              //out使用前,變量可以不賦值
              outTest(out a, out b);
              Console.WriteLine("a={0};b={1}",a,b);
              int c=11,d=22;
              outTest(out c, out d);
              Console.WriteLine("c={0};d={1}",c,d);
            
              //ref test
              int m,n;
              //refTest(ref m, ref n);
              //上面這行會出錯,ref使用前,變量必須賦值
            
              int o=11,p=22;
              refTest(ref o, ref p);
              Console.WriteLine("o={0};p={1}",o,p);
             }
            }

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 保德县| 凤翔县| 南昌县| 温州市| 句容市| 满洲里市| 江油市| 河间市| 勃利县| 微山县| 兴安县| 大英县| 成都市| 湘乡市| 分宜县| 额济纳旗| 安西县| 胶南市| 泽州县| 建水县| 嘉荫县| 临猗县| 威海市| 东乡族自治县| 赫章县| 尚义县| 张家界市| 馆陶县| 明光市| 洪湖市| 长顺县| 彭水| 禄劝| 长宁区| 建宁县| 镇江市| 庆安县| 紫云| 巴楚县| 玉屏| 那曲县|