public struct 구조체명
{
//멤버, 속성, 메서드
}
제한 사항
- 구조체에 선언된 const, static 변수만 초기화 가능
- 구조체 안에 선언할 수 있는 생성자는 매개변수가 반드시 있어야 함
- 구조체를 같은 구조체에 대입하게 되면 값이 복사
- 구조체는 값 형식이고 클래스는 참조 형식임
- 구조체는 구조체 또는 클래스에 상속할 수 없음
- 구조체는 인터페이스를 상속하여 메서드를 구현할 수 있음
namespace ConsoleApp4
{
public struct Mystruct
{
public int Age;
}
public class MyClass
{
public int Age;
}
class Program
{
static void Main(string[] args)
{
Mystruct test1 = new Mystruct();
test1.Age = 12;
Mystruct test2 = test1;
test2.Age = 24;
Console.WriteLine("{0} {1}", test1.Age, test2.Age);
MyClass test3 = new MyClass();
test3.Age = 12;
MyClass test4 = test3;
test4.Age = 24;
Console.WriteLine("{0} {1}", test3.Age, test4.Age);
}
}
}
열거형
-상수를 문자열로 대치하여 선언, 상수에 의미 부여
형식
enum 열거형 명칭{문자열1, 문자열2}
enum 열거형 명칭{문자열1 = 상수, 문자열2 = 상수};
enum 열거형 명칭{문자열1 = 상수, 문자열};
기본은 int형이지만 char형을 제외한 형식을 지정할 수 있음
enum Days : byte{Sun = 0, Mon, Tue, Wed, Thu };
열거형 변수가 아닌 변수에 열거형 값을 대입할 때는 데이터형을 명시할 것
namespace ConsoleApp4
{
enum Days: byte
{
Sun = 10, Mon, Tue, Wed, Thu, Fri, Sat
};
class Program
{
static void Main(string[] args)
{
byte nValue = (byte)Days.Mon;
Days day = Days.Tue;
Days day2 = Days.Sun;
int day3 = (int)Days.Sun;
Console.WriteLine("{0} {1} {2} {3}", nValue, day, day2, day3);
}
}
}
'C#' 카테고리의 다른 글
[C# 기초공부] C# 기본 문법(연산자) (0) | 2023.01.04 |
---|---|
[C# 기초공부] 값 형식,참조형식 (0) | 2023.01.04 |
[C# 기초공부] 표준 입력 (0) | 2023.01.04 |
[C# 기초공부] 박싱과 언박싱 (0) | 2023.01.04 |
[C# 기초공부] 데이터 변환 (0) | 2023.01.04 |