C#/C#_기초강의

(C#) ref, out 참조로 인수 전달하기

코딩ABC 2023. 4. 30. 14:56
반응형

메서드의 매개변수에 ref 키워드를 사용하면 값이 아니라 참조로 전달됨을 나타냅니다.

매서드의 매개 변수에 참조로 전달되는 또 하나의 키워드는 out입니다. 

ref와 out의 차이는 매개 변수를 호출하기 전에 ref는 반드시 변수의 값이 초기화 되어 있어야 하지만 out 키워드는 변수의 값을 초기화 할 필요가 없습니다.

즉, out 키워드는 매개 변수로 처리결과를 받기만 할 때 사용될 수 있습니다.

 

다음 예제는 매개변수에 out를 이용해서 처리 결과를 받는 예제입니다.

        void Add(int x, int y, out int z)
        {
            z = x + y;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int a = 1, b = 2, c;
            
            Add(a, b, out c);

            listBox1.Items.Add(String.Format("{0} + {1} = {2}", a, b, c));
        }

out: 매개변수로 처리 결과 받기

 

 

out 키워드를 사용하는 또 하는 예를 살펴보겠습니다.

string 형식을 숫자 형식으로변환할 때 TryParse 메서드를 이용할 수 있습니다.

TryParse 메서드는 매개 변수에 out 키워드를 사용하고 있습니다.

        private void button1_Click(object sender, EventArgs e)
        {
            string s = "12345";
            int a;
            if (int.TryParse(s, out a))
                ; // int 형식으로 변환 성공
            else
                ; // 변환 오류           
        }

 

반응형