C#,我可以从构造函数中移出字典初始代码吗?

时间:2010-05-11 15:59:59

标签: c#

这是我现在的代码。但是我想从构造函数中移出那些“Add”。我们Dictionary时可以初始化new吗?或者你有另一个更好的主意。基本上我想定义几个在很多地方使用的字符。

public class User
    {
        public enum actionEnum
        {
            In,
            Out,
            Fail
        }

        public static Dictionary<actionEnum, String> loginAction = new Dictionary<actionEnum, string>();

        public User()
        {
            loginAction.Add(actionEnum.In, "I");
            loginAction.Add(actionEnum.Out, "O");
            loginAction.Add(actionEnum.Fail, "F");


        }
 .....
}

1 个答案:

答案 0 :(得分:16)

您可以使用C#3的collection initializer syntax

public static Dictionary<actionEnum, String> loginAction = new Dictionary<actionEnum, string> {
    { actionEnum.In,   "I" }, 
    { actionEnum.Out,  "O" }, 
    { actionEnum.Fail, "F" }
};

请注意,字典是可变的;任何代码都可以添加或删除值。