CHashtag

[C#] enum to string, string to enum 변환 본문

C#

[C#] enum to string, string to enum 변환

HyoSeong 2021. 3. 1. 16:10
반응형

안녕하세요.

 

오늘은 enum 을 string으로 변환하거나, string, int를 enum로 변환하는 방법에 대해 알아보도록 하겠습니다.

 

enum -> string


enum Alphabet
{
    A = 0, 
    B = 1,
    C = 2,
    D = 3
}

string EnumToString(Alphabet alphabet)
{
    return alphabet.ToString();
}

void Main()
{
    Console.WriteLine(EnumToString(Alphabet.A));
    // output : A
}

 

 

enum -> int


enum Alphabet
{
    A = 0, 
    B = 1,
    C = 2,
    D = 3
}

int EnumToInt(Alphabet alphabet)
{
    return (int)alphabet;
}

void Main()
{
    Console.WriteLine(EnumToString(Alphabet.A));
    // output : 0
}

 

 

string -> enum


enum Alphabet
{
    A = 0, 
    B = 1,
    C = 2,
    D = 3
}

Alphabet StringToEnum(string alphabet)
{
    return (Alphabet)Enum.Parse(typeof(Alphabet), alphabet);
}

// generic 응용
T StringToEnum<T>(string e)
{
    return (T)Enum.Parse(typeof(T), e);
}

void Main()
{
    Alphabet alphabet1 = StringToEnum("A");
    // A
    Alphabet alphabet2 = StringToEnum<Alphabet>("C");
    // C
}

 

 

int -> enum


enum Alphabet
{
    A = 0, 
    B = 1,
    C = 2,
    D = 3
}

Alphabet IntToEnum(int alphabet)
{
    return (Alphabet)alphabet;
}

// generic 응용
T IntToEnum<T>(int e)
{
    return (T)(object)e;
}

void Main()
{
    Alphabet alphabet1 = IntToEnum(1);
    // B
    Alphabet alphabet2 = IntToEnum<Alphabet>(2);
    // C
}

 

 

감사합니다.

반응형