Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Type.GetEnumNames() मेथड

विवरण

Type.GetEnumNames() मेथड वर्तमान एन्यूमरेशन प्रकार के सदस्यों के नामों का एक स्ट्रिंग ऐरे लौटाता है। नाम घोषणा क्रम में लौटाए जाते हैं। यह मेथड केवल एनम प्रकारों पर काम करता है।

सिंटैक्स

public virtual string[] GetEnumNames();

उदाहरण 1: गैर-एनम प्रकार पर त्रुटि

using System;

public class Demo {
    enum Vehicle { Car, Bus, Bike }
    
    public static void Main() {
        try {
            Type type = typeof(string); // गैर-एनम
            string[] str = type.GetEnumNames();
            Console.WriteLine("GetEnumNames() = " + str);
            
            Console.WriteLine("कॉन्स्टेंट्स सूचीबद्ध...");
            for (int i = 0; i < str.Length; i++)
                Console.Write("{0} ", str[i]);
        }
        catch (ArgumentException e) {
            Console.WriteLine("एनम नहीं!");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

आउटपुट

एनम नहीं! System.ArgumentException

उदाहरण 2: सही एनम उपयोग

using System;

public class Demo {
    enum Vehicle { Car, Bus, Bike, Airplane }
    
    public static void Main() {
        try {
            Vehicle v = Vehicle.Bike;
            Type type = v.GetType();
            
            string[] str = type.GetEnumNames();
            Console.WriteLine("GetEnumNames() = " + str);
            
            Console.WriteLine("कॉन्स्टेंट्स सूचीबद्ध...");
            for (int i = 0; i < str.Length; i++)
                Console.Write("{0} ", str[i]);
        }
        catch (ArgumentException e) {
            Console.WriteLine("एनम नहीं!");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

आउटपुट

GetEnumNames() = System.String[]
कॉन्स्टेंट्स सूचीबद्ध...
Car Bus Bike Airplane

उन्नत उपयोग: नाम-मान जोड़े

Type enumType = typeof(Vehicle);
string[] names = enumType.GetEnumNames();
Array values = enumType.GetEnumValues();

for (int i = 0; i < names.Length; i++) {
    Console.WriteLine($"{names[i]} = {values.GetValue(i)}");
}
// आउटपुट:
// Car = 0
// Bus = 1
// Bike = 2
// Airplane = 3

मुख्य बिंदु

  • केवल एनम प्रकारों पर मान्य; अन्यथा ArgumentException।
  • नाम घोषणा क्रम में लौटाए जाते हैं, मान क्रम में नहीं।
  • वापस किया गया ऐरे एक नया ऐरे है (संशोधन सुरक्षित है)।
  • Enum.GetNames() पसंदीदा स्थैतिक विकल्प है।
  • केस-सेंसिटिव: नाम सटीक रूप से मेल खाते हैं।
  1. - C# में Type.GetDefaultMembers() मेथड

    C# में Type.GetDefaultMembers() मेथड का उपयोग वर्तमान Type के लिए परिभाषित उन सदस्यों को खोजने के लिए किया जाता है जिनका DefaultMemberAttribute सेट है। सिंटैक्स public virtual System.Reflection.MemberInfo[] GetDefaultMembers (); आइए Type.GetDefaultMembers() मेथड को लागू करने का एक उदाहरण देखते हैं

  1. - C# में Type.GetArrayRank() मेथड

    C# में Type.GetArrayRank() मेथड एक सरणी में आयामों की संख्या प्राप्त करता है। सिंटैक्स public virtual int GetArrayRank (); आइए Type.GetArrayRank() मेथड को लागू करने का एक उदाहरण देखते हैं - उदाहरण using System; public class Demo { public static void Main(string[] args) { Type type =

  1. - C# में Type.Equals() मेथड

    C# में Type.Equals() मेथड यह निर्धारित करता है कि वर्तमान Type का अंतर्निहित सिस्टम प्रकार निर्दिष्ट ऑब्जेक्ट या Type के अंतर्निहित सिस्टम प्रकार के समान है या नहीं। सिंटैक्स public virtual bool Equals (Type o); public override bool Equals (object o); ऊपर, पैरामीटर वे ऑब्जेक्ट हैं जिनके अंतर्निहित