4
这是我的代码现在。但我想将这些“添加”从构造函数中移出。当我们new
时,我们可以初始化Dictionary
吗?或者你有另一个更好的主意。基本上我想定义几个在很多地方使用的字符。顺便说C#,我可以从构造函数中移出字典初始代码吗?
public static Dictionary<actionEnum, String> loginAction = new Dictionary<actionEnum, string> {
{ actionEnum.In, "I" },
{ actionEnum.Out, "O" },
{ actionEnum.Fail, "F" }
};
注意的是,字典是可变的;:
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");
}
.....
}
没有意识到他们有多参数语法。尼斯。 – micahtan 2010-05-11 16:05:13
不仅字典本身是可变的,而且在你和他的代码中,引用也是可变的。要修复后者,请将其标记为“只读”。为了修复前者,好吧,一些人已经推出了他们自己的ReadOnlyDictionary,比如这里:http://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=29 – 2010-05-11 19:12:17