Создание IEnumerable <KeyValuePair <строка, строка >> Объекты с С#?
Для целей тестирования мне нужно создать объект IEnumerable<KeyValuePair<string, string>>
со следующими парами значений ключа образца:
Key = Name | Value : John
Key = City | Value : NY
Каков самый простой способ сделать это?
Ответы
Ответ 1
любое из:
values = new Dictionary<string,string> { {"Name", "John"}, {"City", "NY"} };
или
values = new [] {
new KeyValuePair<string,string>("Name","John"),
new KeyValuePair<string,string>("City","NY")
};
или
values = (new[] {
new {Key = "Name", Value = "John"},
new {Key = "City", Value = "NY"}
}).ToDictionary(x => x.Key, x => x.Value);
Ответ 2
Dictionary<string, string>
реализует IEnumerable<KeyValuePair<string,string>>
.
Ответ 3
var List = new List<KeyValuePair<String, String>> {
new KeyValuePair<String, String>("Name", "John"),
new KeyValuePair<String, String>("City" , "NY")
};
Ответ 4
Dictionary<string,string> testDict = new Dictionary<string,string>(2);
testDict.Add("Name","John");
testDict.Add("City","NY");
Это то, что вы имеете в виду, или есть еще больше?
Ответ 5
Вы можете просто назначить Dictionary<K, V>
to IEnumerable<KeyValuePair<K, V>>
IEnumerable<KeyValuePair<string, string>> kvp = new Dictionary<string, string>();
Если это не сработает, вы можете попробовать -
IDictionary<string, string> dictionary = new Dictionary<string, string>();
IEnumerable<KeyValuePair<string, string>> kvp = dictionary.Select((pair) => pair);