欢迎来到我的地盘:今天是

若得山花插满头,莫问奴归处!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一,相同点:二者都是引用类型变量。   

二,不同点:见下

 class paramtest
    {
        void testRef(ref int i)
        {
            i++;
        }

        void testOut(out int i)
        {
            i = 1; // --(3)
            i++;       
        }

        static void Main(string[] args)
        {
            int pRef = 1; //--(1)

            int pOut; //-(2)

            paramtest p = new paramtest();
            p.testRef(ref pRef );  //使用ref为标志符时,参数变量必须被声明且初始化,如(1)
            Console.WriteLine("pRef={0}",pRef);

            p.testOut(out pOut);

            //使用out 为标志符时,参数变量必须被声明而不需要初始化,如(2)

            //但是在调用的方法体中必须为该变量进行初始化,如(3)
            Console.WriteLine("pOut={0}",pOut); 

            Console .Read ();

        }
    } 

posted on 2007-12-17 09:36  莫问奴归处  阅读(399)  评论(0编辑  收藏  举报
轩轩娃