ref與out的區別

總結以上四條得到ref和out使用時的區別是:
①:ref指定的參數在函數調用時候必須初始化,不能爲空的引用。而out指定的參數在函數調用時候可以不初始化;
②:out指定的參數在進入函數時會清空自己,必須在函數內部賦初值。而ref指定的參數不需要。
代碼:
class Program
    {
        static void Main(string[] args)
        {
            Program pg = new Program();
            int x = 10;
            int y = 20;
            pg.GetValue(ref x, ref  y);
            Console.WriteLine("x={0},y={1}", x, y);


            Console.ReadLine();
          
        }


        public void GetValue(ref int x, ref int y)
        {
            x = 521;
            y = 520;
        }
    }

class Program
    {
        static void Main(string[] args)
        {
            Program pg = new Program();
            int x=10;
            int y=233;
            pg.Swap(out x, out y);
            Console.WriteLine("x={0},y={1}", x, y);


            Console.ReadLine();
          
        }


        public void Swap(out int a,out  int b)
        {
            
            int temp = a;   //a,b在函數內部沒有賦初值,則出現錯誤。
            a = b;
            b = temp;
        }     
    
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章