web-dev-qa-db-ja.com

C#を使用してIEnumerable <KeyValuePair <string、string >>オブジェクトを作成しますか?

テストのために、次のサンプルのキーと値のペアを使用してIEnumerable<KeyValuePair<string, string>>オブジェクトを作成する必要があります。

Key = Name | Value : John
Key = City | Value : NY

これを行う最も簡単な方法は何ですか?

のいずれか:

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);
54
Marc Gravell

Dictionary<string, string>実装IEnumerable<KeyValuePair<string,string>>

8
leppie
var List = new List<KeyValuePair<String, String>> { 
  new KeyValuePair<String, String>("Name", "John"), 
  new KeyValuePair<String, String>("City" , "NY")
 };
5
Rob

単にDictionary<K, V>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);
1
Dictionary<string,string> testDict = new Dictionary<string,string>(2);
testDict.Add("Name","John");
testDict.Add("City","NY");

それがあなたの意味ですか、それとももっとありますか?

1
leeny