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

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


          網站導航:
           
          主站蜘蛛池模板: 射阳县| 陇西县| 新兴县| 阳泉市| 河北省| 老河口市| 松江区| 华容县| 正宁县| 玛沁县| 云梦县| 吉安市| 襄城县| 乐平市| 定陶县| 石台县| 滨海县| 巴林左旗| 安达市| 贡山| 中西区| 林芝县| 眉山市| 濮阳县| 南和县| 神木县| 鹤壁市| 隆林| 潢川县| 积石山| 安远县| 格尔木市| 会同县| 甘德县| 鹰潭市| 东安县| 德阳市| 弥渡县| 湾仔区| 布尔津县| 沈阳市|