구조체는 클래스와 같이 필드, 메소드를 가질 수 있다. 하지만, 클래스와 달리 구조체는 값 형식이며 상속하거나 상속될 수 없다.
또한 2개의 변수에서 동일한 구조체 인스턴스를 가리킬 수 없다. 구조체를 새로운 변수에 할당하면 해당 구조체의 새로운 인스턴스를 생성한다. .NET 프레임워크는 Byte, Char, Int32, DateTime과 같은 중요한 구조체를 정의하여 제공해준다.
구조체는 new를 사용해 인스턴스를 생성한다. 값 형식이므로 스택이나 인라인에서 할당되고 범위를 벗어나면 할당이 해제된다.
값 형식은 일반적으로 생성 비용이 더 싸지만, 박싱과 언박싱이 많이 수반되면 참조 형식보다 더 나쁜 성능을 보인다. 모든 구조체는 System.ValueType에서 암시적으로 파생된다.
다음은 Point라는 사용자 지정 구조체의 코드를 나타낸다. 이 구조체는 2개의 필드(X, Y)와 Move, Print라는 2개의 메소드를 가지고 있다. public struct Point { publ...
#
C샵
#
Nullable
#
struct
#
구조체
#
씨샵
원문 링크 : [C#] 구조체