내일배움캠프

내일배움캠프 Unity - TIL : 25.02.11

달시_Dalsi 2025. 2. 11. 22:52
728x90

오늘 학습한 내용

1) Enum의 모든 값 순회 및 초기화

foreach (EMonsterType type in Enum.GetValues(typeof(EMonsterType)))
{
    monsterSkills[type] = new List<SkillBase>();
}

위 코드를 통해, Enum에 정의된 모든 값을 순회하여 각 값에 대해 리스트를 초기화할 수 있음을 배웠습니다.

 

2) 문자열을 Enum으로 변환하기

if (!Enum.TryParse(skillData["MonsterType"].ToString(), out EMonsterType monsterType))

이 코드를 통해, 문자열 데이터를 해당 Enum 값으로 파싱할 수 있다는 것을 처음 알게 되었습니다.


문제 및 해결 과정

1) 문제 (Enum의 모든 값 순회 및 초기화)

지금까지 Enum은 단순한 상수 집합으로만 생각했었는데, 코드 내에서 반복 처리나 문자열 파싱 등 다양한 기능을 수행할 수 있다는 점을 몰랐습니다.

 

시도한 해결 방법

Enum.GetValues() 메서드를 사용하여 Enum의 모든 값을 순회하고, 각 값에 대해 리스트를 초기화하는 코드를 작성했습니다. 또한, Enum.TryParse()를 활용하여 문자열 데이터를 Enum 값으로 변환하는 방법을 사용하였습니다.

 

결과

Enum을 활용한 다양한 기능(순회 및 문자열 파싱)이 가능하다는 것을 확인하였고, 이를 통해 좀 더 다양한 기능에 활용해볼 수 있음을 알았습니다.


새롭게 알게 된 점

Enum의 확장성

단순한 상수 집합으로만 생각했던 Enum이, 반복문을 통한 순회와 문자열 파싱 등 다양한 방식으로 활용될 수 있음을 배웠습니다.

 

코드의 유연성 향상

Enum을 적극 활용하면 코드의 가독성과 유지보수성이 높아지며, 향후 다양한 상황에 맞게 확장할 수 있다는 점을 확인하였습니다.


앞으로의 계획

코드 작성 시 Enum의 이러한 기능들을 적극 활용하여, 데이터 초기화 및 값 변환을 보다 효율적으로 처리할 예정입니다.

Enum을 통한 반복 처리 및 문자열 파싱 기술을 다양한 프로젝트에 적용하여, 코드의 유연성과 확장성을 더욱 높이는 방법을 강구할 것입니다.

728x90