본문 바로가기

C#

[C#] out 매개변수

    class Program
    {
        static void Main(string[] args)
        {

            new Lesson();
        }
    }

	class Lesson
	{
		public Lesson()
		{
			
			string a, b;

			Init(out a, out b);
			System.Console.WriteLine($"{a} {b}");



		}

		// out 매개변수 string
		public static void Init(out string a, out string b)
		{
			a = "Good";
			b = "Bad";
		}
	}
  •  out 키워드

 

1. 매개변수 앞에 out 를 붙여 주면 매개변수 전달 시 값 형식이 아닌 참조 형식이으로 전달됨

2. 매개변수 앞에 out 를 붙여 주면 전달 된 매개변수는 메소드 내에서 값을 필수적으로 할당해야 함.

ex)

void method(out int a)

void method(out string a)

void method(out ushort a)

...

 

    class Program
    {
        static void Main(string[] args)
        {

            new Lesson();
        }
    }

	class Lesson
	{
		public Lesson()
		{

			Init(out string c, out string d);
			System.Console.WriteLine($"{c} {d}");
			
		}

		// out 매개변수 string
		public static void Init(out string a, out string b)
		{
			a = "Good";
			b = "Bad";
		}
	}
  • 매소드 호출과 동시에 변수 선언도 가능함

 

2023.10.10 - [C#] - [C#] in 매개변수

 

[C#] in 매개변수

class Program { static void Main(string[] args) { new Lesson(); } } class Lesson { public Lesson() { int num1 = 100; int num2 = 200; print(num1, num2); } // in 매개변수 int public static void print(in int num1, in int num2) { System.Console.WriteLine($

bysik1109.tistory.com

 

2023.10.10 - [C#] - [C#] 참조 매개변수 ref

 

[C#] 참조 매개변수 ref

class Program { static void Main(string[] args) { new Lesson(); } } class Lesson { public Lesson() { string a = "Good", b = "Bad"; System.Console.WriteLine($"{a} {b}"); Swap(ref a, ref b); System.Console.WriteLine($"{a} {b}"); int c = 0, d = 1; System.Cons

bysik1109.tistory.com

 

'C#' 카테고리의 다른 글

[C#] 매개변수 배열 (params)  (0) 2023.10.11
[C#] in 매개변수  (1) 2023.10.10
[C#] 참조 매개변수 ref  (0) 2023.10.10
[C#] 파일 삭제  (0) 2023.10.07
[C#] 폴더 (디렉토리) 삭제  (0) 2023.10.07