Enum 은 열거형으로 아룸있는 상수들의 집합을 정의하 데 사용되는 데이터 형식입낟
Enum
enum 열거_형식명 {상수1 = 값1, 상수2 = 값2, 상수3 = 값3, ...)
다음은 간단한 Enum 을 선언하고 해당 값들을 출력하는 코드입니다.
using System;
namespace Enum {
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);
}
}
}
0
1
2
3
4
- Enum 은 특정 값을 지정하지 않으면 Int 에서는 0부터 값을 시작하게 됩니다.
enum DialogResult {YES = 50, NO, CANCEL = 100, CONFIRM, OK = 200}
/*
50
51
100
101
200
*/
- 위와 같이 값을 지정하게 된다면 해당 값을 기준으로 값이 수정되기 때문에 50부터 값이 시작하는 것을 확인할 수 있습니다.
Nullable 형식
C# 컴파일러는 Swift 처럼 메모리 공간에는 반드시 어떤 값이든 넣도록 강제합니다.
특정 변수에 빈값으로 초기화하여 생성하기 위해서는 다음과 같이 만들어야 합니다.
int? a = null;
float? b = null;
double? c = null;
모든 Nullable 형식은 값이 존재하는지 아닌지 확인할 수 있는 HasValue 와 Value 두 가지 속성을 갖고 있습니다.
static void Main(string[] args) {
int? a = null;
Console.WriteLine(a.HasValue);
a = 37;
Console.WriteLine(a.HasValue);
Console.WriteLine(a.Value);
}
/*
False
True
37
*/
var
swift 에서도 존재하듯이 var 또한 사용될 수 있습니다.
C# 에서 var 키워드를 사용하면 약한 형식 검사를 하는 언어의 편리함을 지원합니다.
var 를 사용하여 변수를 선언하려면 반드시 선언과 동시에 초기화해줘야 합니다. (데이터 형식을 추론해야 하기 때문)
using System;
namespace Enum {
class MainApp
{
enum DialogResult {YES = 50, NO, CANCEL = 100, CONFIRM, OK = 200}
static void Main(string[] args) {
var a = 20;
Console.WriteLine("Type: {0}, Value: {1}", a.GetType(), a);
var b = 3.1414213;
Console.WriteLine("Type: {0}, Value: {1}", b.GetType(), b);
var c = "Hello, World!";
Console.WriteLine("Type: {0}, Value: {1}", c.GetType(), c);
var d = new int[] {10, 20, 30};
Console.Write("Type: {0}, Value: ", d.GetType());
foreach (var e in d)
Console.Write("{0} ", e);
Console.WriteLine();
}
}
}
'C#' 카테고리의 다른 글
C# - 타입 변환 Parse, 명시적 변환, 암묵적 변환, Convert (0) | 2024.12.06 |
---|---|
C# - with를 이용한 레코드 복사 (0) | 2024.11.26 |
C# - 참조 (ref), out, try catch (0) | 2024.11.25 |
C# - using System, namespace, Main (0) | 2024.11.23 |
C# - Mac OS에서 Visual Studio Code에 C# 환경 설정하기 (0) | 2024.11.22 |