使用预定义的关键字C#创建字典
本文关键字:创建 字典 关键字 预定义 | 更新日期: 2023-09-27 18:25:24
我正在寻找一种定义字典以供重用的方法。也就是说,我可以创建dictionary对象,而不必用我想要的值填充它。
这是我目前拥有的(注意代码没有测试,只是示例)
public Dictionary<string, string> NewEntryDictionary()
{
Dictionary<string, string> dic = new Dictionary<string, string>();
// populate key value pair
foreach(string name in Enum.GetNames(typeof(Suits))
{
dic.Add(name, "");
}
return dic;
}
最终结果应该是一个具有预定义键集的新字典对象。但我想避免这样做。
目前还不清楚你是关心你写的代码量还是效率。从效率的角度来看,这很好——它是O(N),但如果你用N个条目填充字典,这很难避免。
不过,使用LINQ:,您肯定可以缩短源代码
public Dictionary<string, string> NewEntryDictionary()
{
return Enum.GetNames(typeof(Suits)).ToDictionary(name => name, name => "");
}
当然,这不会更有效率。。。它只是较短的代码。
如果只想根据枚举保存值,请使用Dictionary<Suits,String>
而不是Dictionary<String,String>
其他的,乔恩已经说了。使用LinQ可以获得更"花哨"的外观。但这并不能提高的性能