issues
search
SagiK-Repository
/
C_Sharp_Deep_Learn
C#을 깊게 배웁니다.
0
stars
1
forks
source link
Comparing Enum Member Name Conversion to String: ToString() vs nameof()
#17
Closed
SAgiKPJH
closed
5 months ago
SAgiKPJH
commented
5 months ago
ToString()
,
nameof()
두 방법은 약간 다른 동작을 합니다.
ToString()
Enum
의 멤버 이름을 문자열로 변환합니다.
만약
Enum
멤버가 여러 플래그로 구성된 경우, 각 플래그의 이름이 쉼표로 구분된 문자열로 반환됩니다.
nameof()
이 방법은 컴파일 타임에
Enum
의 멤버 이름을 문자열로 가져옵니다.
컴파일 타임에 결정되므로, 실행 시간에 추가 오버헤드가 없습니다.
결론
따라서, 성능 측면에서 보면
nameof
연산자가 더 효율적일 수 있습니다.
그러나,
Enum
멤버가 여러 플래그로 구성된 경우에는
ToString()
메서드를 사용해야 합니다.
리팩토링 측면
nameof
연산자는 리팩토링에 더 용이합니다. 멤버의 이름이 변경되면 컴파일러가 오류를 발생시켜 알려줍니다.
하지만
ToString()
메서드는 실행 시간에 오류를 발생시킬 수 있습니다.
ToString()
,nameof()
두 방법은 약간 다른 동작을 합니다.ToString()
Enum
의 멤버 이름을 문자열로 변환합니다.Enum
멤버가 여러 플래그로 구성된 경우, 각 플래그의 이름이 쉼표로 구분된 문자열로 반환됩니다.nameof()
Enum
의 멤버 이름을 문자열로 가져옵니다.결론
nameof
연산자가 더 효율적일 수 있습니다.Enum
멤버가 여러 플래그로 구성된 경우에는ToString()
메서드를 사용해야 합니다.nameof
연산자는 리팩토링에 더 용이합니다. 멤버의 이름이 변경되면 컴파일러가 오류를 발생시켜 알려줍니다.ToString()
메서드는 실행 시간에 오류를 발생시킬 수 있습니다.