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

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


          網站導航:
           
          主站蜘蛛池模板: 垦利县| 大方县| 荔浦县| 洛川县| 沂水县| 绵阳市| 新宾| 太原市| 巴林左旗| 贡觉县| 绥德县| 庆安县| 莱芜市| 杭锦后旗| 商都县| 和田县| 合江县| 荆州市| 平定县| 白水县| 原阳县| 兴和县| 攀枝花市| 龙岩市| 丽江市| 保康县| 宁强县| 沁源县| 项城市| 大理市| 寿宁县| 桂林市| 白河县| 景宁| 南皮县| 客服| 赤峰市| 太仆寺旗| 高青县| 岳西县| 赣榆县|