列挙型 (enum) から 文字列 (string) または 数値 (int/long等) に変換したり、その逆で、文字列 (string) や 数値 (int/long等) を 列挙型 (enum) に変換する方法について、まとめました。 ここでは、シンプルに 型の相互変換 についてのみ記載しています。
以下のサンプルコードでは、下に示す Season 列挙型
が存在する前提で記載しています。
[Flags] public enum Season { Spring = 0x01, Summer = 0x02, Autumn = 0x04, Winter = 0x08 }
列挙型(enum) → 文字列(string)
var enmVal = Season.Spring; var strVal = Enum.GetName(typeof(Season), enmVal);
列挙型(enum) → 数値(int)
var enmVal = Season.Autumn | Season.Winter; var intVal = (int)enmVal;
文字列(string) → 列挙型(enum)
var strVal = "spring, summer"; var enmVal = (Season)Enum.Parse(typeof(Season), strVal, true);
数値(int) → 列挙型(enum)
var intVal = 2; var enmVal = (Season)Enum.ToObject(typeof(Season), intVal);
参考記事
丁度この情報を探していました!ありがとうございます!m(._.)m
返信削除