0

次のコードがあります。

private List<KeyValuePair<int, string>> _list = new List<KeyValuePair<int, string>>();

public MyclassConstructor()
{
    foreach (Enum value in Enum.GetValues(typeof(FontStyle)))
        _list.Add(new KeyValuePair<int, string>((int)value, value.ToString()));
}

この列挙型の int 部分をキーとして取得する方法がわかりません...かなりばかげた質問だと思いますが、機能させることはできません。

私はスタックオーバーフローでこの記事を参照していましたが、ご覧のとおり、これは機能しません

では、どうすれば列挙型の int 値を取得できますか?

編集:コンパイルしようとすると、「型 'System.Enum' を 'int' に変換できません」というエラー メッセージが表示されました。

4

3 に答える 3

0

これはうまくいきます:

var _list = Enum.GetValues(typeof(FontStyle))
            .Cast<FontStyle>()
            .Select(x => new KeyValuePair<int, string>((int)x, x.ToString()));
于 2013-06-25T18:05:09.637 に答える
0

値から Enum 名を取得する場合は、はいという意味です。Enum.GetName(typeof(yourtype),value) を呼び出すだけです。var キーワードを使用してみてください。

于 2013-06-25T17:38:22.713 に答える