문자열에 Enum.IsDefined()
메서드를 사용했지만 True
을 가져야하는 상황에서 False
이 발생합니다. 아래의 코드를 확인하십시오 :Enum.IsDefined는 문자열에 대해 false를 반환합니다.
public enum YourEnum : int
{
Zero = 0,
One = 1
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(Enum.IsDefined(typeof(YourEnum), 1));
Console.WriteLine(Enum.IsDefined(typeof(YourEnum), 1.ToString()));
}
}
C# Fiddle Demo
결과 : 내가 두 번째 경우에 False
을 얻을해야하는 이유를 모르겠어요
True
False
합니다. 어떤 도움을 주셔서 감사합니다.
'Enum.Parse()'는'string'을 허용합니다. 'Enum.IsDefined()'는 당신의'enum'에 정의 된 * 상수 *를 당신이 전달하는 것과 비교합니다. – haim770
그 대답은 yes가 내 질문과 관련이 없으므로 실제로'Enum.IsDefined'는 받아들입니다. 'object'를 두 번째 매개 변수로 사용하고 DoDefined도 두 번째 매개 변수의 유형을 확인하도록 요청해야합니다. –