Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Type.GetEnumUnderlyingType() trong C#

Phương thức Type.GetEnumUnderlyingType() trong C# trả về kiểu dữ liệu nền tảng của kiểu enum hiện tại.

Cú pháp

public virtual Type GetEnumUnderlyingType();

Ví dụ 1

using System;
public class Demo
{
    public 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("GetEnumName() to return the constant name = " + str);
            Type type2 = type.GetEnumUnderlyingType();
            Console.Write("Enum Underlying type = " + type2);
            Console.WriteLine("\nListing constants ..");
            for (int i = 0; i < str.Length; i++)
                Console.Write("{0} ", str[i]);
        }
        catch (ArgumentException e)
        {
            Console.WriteLine("Not an enum!");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Đầu ra

GetEnumName() to return the constant name = System.String[]
Enum Underlying type = System.Int32
Listing constants .. Car Bus Bike Airplane

Ví dụ 2

using System;
public class Demo
{
    public enum Vehicle { Car, Bus, Bike, Airplane }
    public static void Main()
    {
        try
        {
            Type type = typeof(int);
            string[] str = type.GetEnumNames();
            Console.WriteLine("GetEnumName() to return the constant name = " + str);
            Type type2 = type.GetEnumUnderlyingType();
            Console.Write("Enum Underlying type = " + type2);
            Console.WriteLine("\nListing constants ..");
            for (int i = 0; i < str.Length; i++)
                Console.Write("{0} ", str[i]);
        }
        catch (ArgumentException e)
        {
            Console.WriteLine("Not an enum!");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Đầu ra

Not an enum! System.ArgumentException