1. ホーム
  2. c#

[解決済み] intをenumにキャストするにはどうすればよいですか?

2022-03-15 04:25:32

質問

はどのようにすれば int に変換されます。 enum をC#で使うのですか?

どのように解決するのですか?

intから。

YourEnum foo = (YourEnum)yourInt;

文字列から

YourEnum foo = (YourEnum) Enum.Parse(typeof(YourEnum), yourString);

// The foo.ToString().Contains(",") check is necessary for enumerations marked with an [Flags] attribute
if (!Enum.IsDefined(typeof(YourEnum), foo) && !foo.ToString().Contains(","))
{
    throw new InvalidOperationException($"{yourString} is not an underlying value of the YourEnum enumeration.")
}

更新しました。

この番号から、次のこともできます。

YourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum) , yourInt);