공부/C#

함수인자 ref, out

미다손 2016. 5. 9. 01:21

// 함수인자 ref, out


static void Main(string[] args)

{

            //int num;  //불가 -> 참조로 넘기려고 한다면 값이 할당되어있어야 한다.

            int num = 10;

            //class 변수의 경우는 new 되어있거나 , 

            //일반형 변수의 경우 값이 최기화되어 들어가 있어야 함.

            Test4(ref num); //참조 하는 변수라고 명시 

            Console.WriteLine("Test4 after : {0}", num);    //11


            int num2;    //out용 변수는 값이 할당되어있지 않아도 된다.

            Test5(out num2);

            Console.WriteLine("Test5 : {0}", num2);    //50


}


        /// <summary>

        /// ref 테스트

        /// </summary>. 파라미터를 참조로 받기

        /// <param name="num">참조하게 될 파라메터</param>

        static void Test4(ref int num)

        {

            Console.WriteLine("Test4 : {0}", num);

            num++;  //원래 값 자체를 변화시킨다.

        }


        /// <summary>

        /// out 출력용 함수

        /// </summary>

        /// <param name="num">출력값이 될 파라메터</param>

        static void Test5(out int num)

        {

            //num++;    //불가 -> 해당 값만 가져오는 거지 

                        //원래 변수 자체를 가져오는 것이 아니라 변화시킬 수 없다.

            num = 50;    //이 값이 원래 변수의 값이 된다.

        }