Он у вас почти есть, но проще всего разделить его на две инициализации.
Во-первых, инициализируйте 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);
person
Matthew Watson
schedule
23.04.2016