.net中的ref與out的區別和使用總結

ref和out的使用及區別

  1.  ref的使用:使用ref進行參數的傳遞時,該參數在建立時,必須設置其初始值,且ref側重於修改;spa

  2. out的使用: 採用out參數傳遞時,該參數在建立時,能夠不設置初始值,可是在方法中必須初始化,out側重於輸出;string

註釋:當但願方法返回多個值時,能夠用out,而且一個方法中的參數能夠有一個或多個out參數;使用 out 參數,必須將參數做爲 out 參數顯式傳遞到方法中,可是out 參數的值不會被傳遞到 方法中,且屬性不是變量,不能做爲 out 參數傳遞。it

    ref是有進有出,而out是隻出不進。class

舉例以下:變量

out的使用方法

 

   class Program
    {
        static void Main(string[] args)
        {static

 

     string tmp;    //先聲明,但不初始化註釋

 

     User _user=new User();      co

 

     _user.Name(out tmp);        //調用Name方法參數傳遞

 

              Console.WriteLine("{0}",tmp); //這時tmp的值爲「在這裏面賦值了」

 

              Console.ReadKey(true);

 

   }

 

     }

 

  class User{

 

    public void Name(out string tmps)

 

           {

 

       tmps="在這裏面賦值了";

 

           }

 

      }

 

       使用out結果輸出: 在這裏面賦值了

 

 ref的使用

 

   class Program
    {
        static void Main(string[] args)
        {

 

     string tmp="傳值以前";    //聲明並初始化        這時若是輸出tmp值爲"傳值以前"

 

          User _user=new User();

 

              _user.Name(ref tmp);

 

              Console.WriteLine("{0}",tmp);

 

              Console.ReadKey(true);

 

        }

 

    }

 

    class User {

 

         public void Name(ref string tmps)

 

         {

 

              tmps="傳值以後";

 

         }

 

    }

 

 

    使用ref方法結果輸出:傳值以後

相關文章
相關標籤/搜索