Notice
Recent Posts
Recent Comments
Link
스토리지
[3.12] 메소드의 키워드 (ref, out, params) 본문
1. ref
ref는 Call by Reference에 나와있다.
[3.12] Call by Value & Call by Reference
1. Call by Value class Program { static void Main(string[] args) { int a = 5; int b = 7; swap(a, b); Console.WriteLine("In Main a : {0}, b : {1}", a, b); } static void swap(int a, int b) { Console.W..
silimy5465.tistory.com
2. out
ref와 동일하게 주소를 전달하는 키워드이기 때문에 호출한 블럭에서도 값이 변경이된다.
하지만 ref와 다른점은
ref | out |
선언 했을 때, 무조건 초기화가 되어있어야함. | 초기화를 하면 안됨. (out을 매개변수로 받은 함수에서 가능) |
따로 return값이 필요없음 | 함수가 끝나기전에 무조건 매개변수에 값을 넣어야됨. |
public class App
{
public App()
{
Console.WriteLine("App 생성됨");
int a;
OutParameter(out a);
Console.WriteLine(a);
}
public void OutParameter(out int a)
{
a = 50;
a *= 2;
}
}
3. params
params 키워드는 다수의 값을 매개변수로 넣어줬을 때, 이 값들을 배열로 만들어준다.
만약 매개변수 타입이 object이면 어느 타입이든 받아들일 수 있다.
public class App
{
public App()
{
Console.WriteLine("App 생성됨");
int[] arr = ParamsMethod(1, 2, 7, 5, 4, 2, 6, 5, 4, 9, 1, 0);
foreach (var i in arr)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
public int[] ParamsMethod(params int[] a)
{
return a;
}
}
'Unity > 수업내용(C#)' 카테고리의 다른 글
[3.12] 상속 Inheritance (0) | 2021.03.12 |
---|---|
[3.12] Array 연습 (0) | 2021.03.12 |
[3.12] Call by Value & Call by Reference (0) | 2021.03.12 |
[3.11] C# 클래스 선언 및 인스턴스 생성 예제 (0) | 2021.03.11 |
[3.11] Class 생성 및 객체 생성 (0) | 2021.03.11 |
Comments