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

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


          網站導航:
           
          主站蜘蛛池模板: 融水| 容城县| 张家口市| 邢台市| 金沙县| 镇原县| 拜泉县| 民权县| 宁陵县| 本溪市| 平定县| 密云县| 兰州市| 三台县| 泸州市| 休宁县| 扬州市| 横山县| 花垣县| 乌拉特中旗| 通河县| 三门峡市| 辽宁省| 谷城县| 甘肃省| 武清区| 岱山县| 郧西县| 仁寿县| 伊宁市| 三江| 乌苏市| 唐山市| 山阳县| 融水| 文山县| 百色市| 新宁县| 南宁市| 桦甸市| 永新县|