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

标签 c#

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

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");


        }
 .....
}

最佳答案

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

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

顺便说一下,字典是可变的;任何代码都可以添加或删除值。

关于C#,我可以将字典初始代码从构造函数中移出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2812247/

相关文章:

c# - 如何将 C# 类型转换为 IronRuby 类型,反之亦然?

c# - 引用滥用 : Worth Cleaning Up?

c# - Java 的 ByteBuffer 最接近 C# 中的对应物?

c# - Xamarin Android - 如何将事件从 MainActivity 传递到表单页面上的 ViewModel?

c# - 有没有办法告诉我在运行时使用的是哪个枚举?

C# 接口(interface)、多态性和委托(delegate)

c# - 获取按钮中的 TextBox 文本值

c# - c# winForms 列表数组的奇怪结果

c# - 单击时将参数传递到 ASP.Net Button 控件

c# - SharePoint 网络服务 : Need to fetch list in a sub-site