के लिए गलत रिटर्न देता है मैंने स्ट्रिंग के लिए Enum.IsDefined()
विधि का उपयोग किया, लेकिन मुझे False
एक ऐसी स्थिति में मिलता है जहां मुझे लगता है कि मुझे True
मिलना चाहिए। जांच करें नीचे दिए गए कोड:Enum.Is परिभाषित स्ट्रिंग्स
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
परिणाम:
True
False
मैं नहीं जानता कि क्यों मैं दूसरे मामले में False
मिलना चाहिए। किसी भी मदद की सराहना की है।
यह 'Enum.Parse()' है जो 'स्ट्रिंग' स्वीकार करता है। 'Enum.IsDefined()' आपके 'enum' पर परिभाषित * स्थिरांक * की तुलना कर रहा है जो आप गुजर रहे हैं। – haim770
उस उत्तर में हाँ जो मेरे मुख्य प्रश्न से संबंधित नहीं है, वास्तव में' Enum.IsDefined' स्वीकार कर रहा है 'ऑब्जेक्ट' को दूसरे पैरामीटर के रूप में, मुझे यह पूछना चाहिए कि क्या 'IsDefined' भी दूसरे पैरामीटर के प्रकार की जांच करता है? –