상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C#에서 Enum을 정의하고 사용하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C 에서 Enum(열거형)은 관련된 상수 집합을 정의하는 데 사용되는 특별한 데이터 형식입니다. Enum을 사용하면 코드의 가독성을 높이고, 상수 값을 명확하게 표현할 수 있습니다. Enum은 주로 상태, 옵션, 또는 특정 범주를 나타내는 데 유용합니다. 이 글에서는 C 에서 Enum을 정의하고 사용하는 방법에 대해 자세히 설명하겠습니다. Enum 정의하기 C 에서 Enum을 정의하려면 `enum` 키워드를 사용합니다. Enum은 기본적으로 정수형으로 취급되며, 첫 번째 값은 0부터 시작합니다. 각 값은 기본적으로 이전 값에 1을 더한 값으로 설정됩니다. 그러나 명시적으로 값을 지정할 수도 있습니다. 기본적인 Enum 정의 ```csharp public enum DayOfWeek { Sunday, // 0 Monday, // 1 Tuesday, // 2 Wednesday, // 3 Thursday, // 4 Friday, // 5 Saturday // 6 } ``` 위의 예제에서 `DayOfWeek`라는 Enum은 일주일의 각 요일을 나타냅니다. 각 요일은 자동으로 0부터 6까지의 정수 값으로 매핑됩니다. 명시적으로 값 지정하기 Enum의 각 항목에 대해 명시적으로 값을 지정할 수도 있습니다. ```csharp public enum HttpStatusCode { OK = 200, Created = 201, Accepted = 202, NoContent = 204, BadRequest = 400, Unauthorized = 401, Forbidden = 403, NotFound = 404 } ``` 위의 예제에서 `HttpStatusCode` Enum은 HTTP 상태 코드를 나타냅니다. 각 상태 코드는 명시적으로 정수 값으로 설정되어 있습니다. Enum 사용하기 Enum을 정의한 후에는 이를 변수에 할당하거나 조건문에서 사용할 수 있습니다. Enum 변수 선언 및 초기화 ```csharp DayOfWeek today = DayOfWeek.Monday; ``` 위의 코드에서는 `today`라는 변수를 `DayOfWeek` Enum 타입으로 선언하고, `Monday`로 초기화합니다. Enum 값 비교 Enum 값은 다른 Enum 값과 비교할 수 있습니다. ```csharp if (today == DayOfWeek.Monday) { Console.WriteLine("오늘은 월요일입니다."); } ``` 이 코드는 `today` 변수가 `DayOfWeek.Monday`와 같으면 "오늘은 월요일입니다."라는 메시지를 출력합니다. Enum을 문자열로 변환하기 Enum 값을 문자열로 변환하려면 `ToString()` 메서드를 사용할 수 있습니다. ```csharp string dayString = today.ToString(); // "Monday" Console.WriteLine(dayString); ``` 문자열을 Enum으로 변환하기 문자열을 Enum으로 변환하려면 `Enum.Parse()` 메서드를 사용할 수 있습니다. ```csharp string input = "Friday"; DayOfWeek day = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), input); Console.WriteLine(day); // "Friday" ``` Enum의 이점 1. 가독성 : Enum을 사용하면 코드의 의미가 명확해집니다. 숫자 대신 의미 있는 이름을 사용하여 코드를 읽기 쉽게 만듭니다. 2. 유지보수 : Enum을 사용하면 상수 값을 한 곳에서 관리할 수 있어 코드의 유지보수가 용이합니다. 3. 타입 안전성 : Enum은 특정 타입으로 제한되므로 잘못된 값이 할당되는 것을 방지할 수 있습니다. Enum의 확장 C 에서는 Enum에 메서드를 추가할 수는 없지만, Enum과 관련된 <a href='https://sangseek.com/sangseeks/확장 메서드/ko'>확장 메서드</a>를 정의하여 Enum의 기능을 확장할 수 있습니다. ```csharp public static class EnumExtensions { public static string GetDescription(this DayOfWeek day) { switch (day) { case DayOfWeek.Sunday: return "일요일"; case DayOfWeek.Monday: return "월요일"; case DayOfWeek.Tuesday: return "화요일"; case DayOfWeek.Wednesday: return "수요일"; case DayOfWeek.Thursday: return "목요일"; case DayOfWeek.Friday: return "금요일"; case DayOfWeek.Saturday: return "토요일"; default: return "알 수 없음"; } } } ``` 위의 코드에서는 `DayOfWeek` Enum에 대한 확장 메서드를 정의하여 각 요일에 대한 설명을 반환합니다. 이 메서드는 다음과 같이 사용할 수 있습니다. ```csharp string <a href='https://sangseek.com/sangseeks/description/ko'>description</a> = today.GetDescription(); Console.WriteLine(description); // "월요일" ``` 결론 C 에서 Enum은 관련된 상수 집합을 정의하고 사용하는 데 매우 유용한 도구입니다. Enum을 사용하면 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 타입 안전성을 제공할 수 있습니다. Enum을 적절히 활용하면 코드의 품질을 크게 향상시킬 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기