C# --我在主KeyValuePair中使用KeyValuePair作为密钥。我的问题是:
如果我有"KeyValuePair",声明如下:
KeyValuePair<String,String> varName = new KeyValuePair<String,String>("String 1","String 2");如果我有以下情况,我该如何申报:
KeyValuePair<KeyValuePair<String,String>,int>我在这里的语法太混乱了。请帮帮我!
谢谢!
发布于 2016-04-23 18:41:58
你差不多有,但最简单的是把它分成两个首字母。
首先,初始化KeyValuePair<string, string>,然后使用它与int一起对KeyValuePair<KeyValuePair<string, string>, int>进行初始化。
var pair = new KeyValuePair<string, string>("string 1", "string 2");
var varName = new KeyValuePair<KeyValuePair<string, string>, int>(pair, 10);如果您编写了这样的助手方法,您可以大大简化这一点:
public static KeyValuePair<T1, T2> MakeKeyValuePair<T1, T2>(T1 key, T2 value)
{
return new KeyValuePair<T1, T2>(key, value);
}使用它,您可以执行以下操作:
var pair = MakeKeyValuePair("string 1", "string 2");
var varName = MakeKeyValuePair(pair, 10);这要容易得多,并且不需要显式指定类型。
或者如果你喜欢(我个人不喜欢这样):
var varName = MakeKeyValuePair(MakeKeyValuePair("string 1", "string 2"), 10);但如果你真的想用一种艰难的方式去做:
var varName = new KeyValuePair<KeyValuePair<string, string>, int>(
new KeyValuePair<string, string>("string 1", "string 2"),
10);https://stackoverflow.com/questions/36814806
复制相似问题