C#의 ref 및 out

1624 단어
다음 코드가 어떤 값을 출력할지 생각해 보세요.
 static void Main()
        {
            int number = 10;
            add(number);
            Console.WriteLine(number);
            Console.ReadLine();
        }

        static void add(int number)
        {
            number = number+number;

            Console.WriteLine(number);
        }

ref 용도
ref는 수식 방법에 사용되는 매개 변수입니다. ref에 의해 수식된 매개 변수는 호출할 때 인용으로 전달됩니다.방법에서 파라미터를 수정할 때, 호출자가 전달하는 변수의 값도 바뀐다.호출할 방법의 매개 변수 중ref로 장식된 매개 변수가 있다면, 이 매개 변수는 전달하기 전에 초기화해야 합니다.다음 예를 참조하십시오.
        static void Main()
        {
            int x = 10;
            TestRef(ref x); //     x       
            Console.WriteLine(x); // 20
        }

        static void TestRef( ref int number1) //       10     
        {
            Console.WriteLine("TestRef  "+ number1); //10
            number1 += number1;
            Console.WriteLine("TestRef  " + number1);// 20
        }

out 용도
out도 수식 방법에 사용되는 매개 변수입니다.ref와 유사합니다. out에 수식된 매개 변수는 호출할 때 인용으로 전달됩니다.방법에서 파라미터를 수정할 때, 호출자가 전달하는 변수의 값도 바뀐다.호출할 방법의 매개 변수 중out 수식의 매개 변수가 있다면, 이 매개 변수는 전달하기 전에 초기화할 필요가 없습니다.아래의 예를 보아라
        static void Main()
        {
            int y;
            TestOut(out y);
            Console.WriteLine(y); //30

            Console.ReadLine();
        }

        static void TestOut(out int number1)
        {
            number1 = 30;
            Console.WriteLine("TestOut  " + number1); // 30
        }

ref와 out의 차이점:
ref 수식의 매개 변수는 전달하기 전에 초기화해야 합니다.out 수식의 매개 변수는 전달하기 전에 초기화하지 않을 수 있습니다.

좋은 웹페이지 즐겨찾기