-
[C# 개념] 3.5 상수와 열거 형식Anna belly belly hard/C# 2023. 6. 29. 15:31반응형
- 상수(Constant)
- 열거 형식(Enumerator)
3.5.1 상수 : 전 언제나 변하지 않을 거예요
const 자료형 상수명 = 값;
using System; namespace Constant { class MainApp { static void Main(string[] args) { const int MAX_INT = 2147483647; const int MIN_INT = -2147483647; Console.WriteLine(MAX_INT); Console.WriteLine(MIN_INT); } } }
3.5.2 열거 형식 : 여러 개의 상수를 정리
enum 열거_형식명 : 기반자료형 {상수1,상수2,상수3,...}
- 이 형식에서 기반자료형은 정수계열(byte,sbyte,short,ushort,int,uint,long,ulong,char) 만 사용할수 있으며, 생략할 경우 컴파일러가 int를 기반자료형으로 사용
using System; namespace Enum { internal class MainApp { enum DialogResult {YES,NO,CANCEL,CONFIRM,OK} static void Main(string[] args) { Console.WriteLine((int)DialogResult.YES); Console.WriteLine((int)DialogResult.NO); Console.WriteLine((int)DialogResult.CANCEL); Console.WriteLine((int)DialogResult.CONFIRM); Console.WriteLine((int)DialogResult.OK); } } }
- c#의 열거 형식이 이렇게 설계된 이유는 열거 형식의 요소가 어떤 값을 갖느냐는 별 의미가 없기 때문, 열거 형식의 각 요소는 서로 중복되지 않는 값을 갖고 있다는데 의미, 열거형식을 사용할 때는 각 요소가 갖고 있는 값보다 각 요소의 이름을 사용하는 것이 그의미에 잘 부합!
using System; namespace Enum2 { internal class MainApp { enum DialogResult {YES,NO,CANCEL,CONFIRM,OK} static void Main(string[] args) { DialogResult result = DialogResult.YES; Console.WriteLine(result == DialogResult.YES); Console.WriteLine(result == DialogResult.NO); Console.WriteLine(result == DialogResult.CANCEL); Console.WriteLine(result == DialogResult.CONFIRM); Console.WriteLine(result == DialogResult.OK); } } }
enum 열거_형식명 {상수1 = 값1, 상수2 = 값2, 상수3 = 값3 , ...}
- 열거 형식을 선언할 때 첫번째 요소에는 프로그래머가 직접 값을 할당하고, 두번째 요소 부터 어떤 값도 할당하지 않으면 컴파일러가 자동으로 값을 할당하기 시작한다. 이때 컴파일러가 할당하는 값은 다음코드 처럼 첫 번째 요소로부터 1씩 더한 값이다.
using System; namespace Enum3 { internal class MainApp { enum DialogResult { YES=10,NO,CANCEL,CONFIRM=50,OK} static void Main(string[] args) { Console.WriteLine((int)DialogResult.YES); Console.WriteLine((int)DialogResult.NO); Console.WriteLine((int)DialogResult.CANCEL); Console.WriteLine((int)DialogResult.CONFIRM); Console.WriteLine((int)DialogResult.OK); } } }
반응형'Anna belly belly hard > C#' 카테고리의 다른 글
[C# 개념] 3.7 var : 데이터 형식을 알아서 파악하는 똑똑한 C# 컴파일러 (0) 2023.06.29 [C# 개념] 3.6 Nullable 형식 (0) 2023.06.29 [C# 개념] 3.4 기본 데이터 형식 (0) 2023.06.26 [C# 개념] 3.3 값 형식과 참조 형식 (0) 2023.06.21 [C# 개념] 3.2 변수 (0) 2023.06.21