c# ref

    [C#] 인자 전달 방식 (2)

    [C#] 인자 전달 방식 (2)

    1. 참조 타입과 매개 변수 전달 using System; class Point { public int x = 0; public int y = 0; public Point(int a, int b) { x = a; y = b; } } class Program { public static void f1(Point p) { // Point p = p1 p.x = 2; } public static void Main() { Point p1 = new Point(1, 1); f1(p1); Console.WriteLine(p1.x); } } Point 클래스가 있고 메인함수에서 p1 객체를 만든 후 p1객체의 멤버변수인 x를 2로 바꾸고 출력해보는 코드이다. 앞선 int와 같은 값타입과 다르게 참조타입인 class는..

    [C#] 인자 전달 방식 (1)

    [C#] 인자 전달 방식 (1)

    1. ref local variable using System; class Program { public static void Main() { int n1 = 10; int n2 = n1; n2 = 20; Console.WriteLine($"{n1}, {n2}"); int n3 = 10; ref int n4 = ref n3; n4 = 20; Console.WriteLine($"{n3}, {n4}"); } } C# 문법 중 ref int n4 = ref n3; 값 타입 앞에 ref 라고 붙이는 문법이 있다. 이렇게 만들면 정수형 변수를 만들지만 일반 변수가 아닌, 참조 변수로 만들겠다. 라는 뜻이다. 따라서 값을 직접 들지 않고 주소를 가지고 있다. 나중에 덩치가 큰 구조체를 만들었는데 코딩하며 복사본이 ..