使用预定义的键创建字典C#

vis*_*isc 3 c# 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;
}
Run Code Online (Sandbox Code Playgroud)

最终结果应该是具有预定义键集的新字典对象.但我想避免这样做.

Jon*_*eet 5

你是否关心你编写的代码量或者它的效率并不是很清楚.从效率的角度来看,它很好 - 它是O(N),但如果你用N个条目填充字典,这很难避免.

你可以使用LINQ来缩短源代码:

public Dictionary<string, string> NewEntryDictionary()
{
    return Enum.GetNames(typeof(Suits)).ToDictionary(name => name, name => "");
}
Run Code Online (Sandbox Code Playgroud)

当然,这不会更有效......它只是更短的代码.