-
기본적인 선언과 사용은 비슷하다.
주요 차이
memory할당: calss는 heap에, struct는 stack에 할당 된다.
reference방식: 값 형식 참조(Value type reference)와 참조 형식 참조(Reference type reference, C언어에서는 address point방식).
생성방식: struct는 new 없어도 된다.
memory할당
C#에서 class는 항상 heap에 할당된다.
struct는 로컬 함수 변수인 경우 stack에 할당된다. 그러나 class member인 경우 class의 일부로 heap에 할당된다.//"int a"도 stack에 할당 된다. int a = 1; int b = a; b = 3; //a != b;
reference방식
함수인자로 전달될 때 차이. struct를 넣으면 복사 된다. class를 넣으면 참조값만 넘어간다. 복사를 방지하고 참조로 넣고 싶으면 ref를 앞에 붙인다. ex calc(ref structA);
생성방식
Vector3 v3; v3.x = 123;
'C#(Csharp)' 카테고리의 다른 글
C# get set property (0) 2023.02.15 C# List (0) 2023.02.15 SortedList (0) 2021.08.08 실수형 소수점 자리 제한하여 출력(float, decimal) (0) 2021.07.27 Formating strings (0) 2021.07.27 List.Sort (0) 2021.07.26 SortedSet (0) 2021.07.24 HashSet (0) 2021.07.24