विवरण
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()पसंदीदा स्थैतिक विकल्प है।- केस-सेंसिटिव: नाम सटीक रूप से मेल खाते हैं।