0

C#では、Dictionaryクラスのコンテンツをどのように出力しますか?

キーと値を含むDictionaryクラスをロードしたら、それらを循環させてforeachループに個々の値を出力するにはどうすればよいですか?

4

6 に答える 6

3

それらを出力したいだけなら、foreachループは必要ありません。
LINQ ForEachを使用できます:

myDictionary.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));
于 2012-08-23T02:03:16.603 に答える
3

http://www.dotnetperls.com/dictionaryの例を次に示します。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
    // Example Dictionary again
    Dictionary<string, int> d = new Dictionary<string, int>()
    {
        {"cat", 2},
        {"dog", 1},
        {"llama", 0},
        {"iguana", -1}
    };
    // Loop over pairs with foreach
    foreach (KeyValuePair<string, int> pair in d)
    {
        Console.WriteLine("{0}, {1}",
        pair.Key,
        pair.Value);
    }
    // Use var keyword to enumerate dictionary
    foreach (var pair in d)
    {
        Console.WriteLine("{0}, {1}",
        pair.Key,
        pair.Value);
    }
    }
}

最後のループでは、 varを使用して KeyValuePair オブジェクトを宣言します。Dictionary で使用される型の宣言について心配する必要がなく、CLR に対して同じ結果を生成するため、この方法の方が簡単です。

于 2012-08-23T01:39:53.833 に答える
2
foreach (KeyValuePair<string, int> pair in myDictionary)
{
    Console.WriteLine("{0}, {1}",
    pair.Key,
    pair.Value);
}
于 2012-08-23T01:39:39.190 に答える
1

これを試して

Dictionary<object, object> dummyDictionary = new Dictionary<object, object>
            {
                {"India","Delhi"},
                {"USA","WashingtonDC"},
                {"Bangaladesh","Dhaka"},
                {"Pakistan","Karachi"}
            };

//Foreachループ構造

foreach (KeyValuePair<object, object> kvp in dummyDictionary)
{
  Console.WriteLine(string.Format("Key = {0}  Value = {1}", kvp.Key, kvp.Value));
}

//LinqおよびForeach拡張メソッドを使用

var result =
             (from kvp in dummyDictionary
              select new
              {
                Key = kvp.Key
                ,
                 Value = kvp.Value
              });
result.ToList().ForEach(kvp => Console.WriteLine(string.Format("Key = {0}  Value = {1}", kvp.Key, kvp.Value)));

Console.ReadKey();
于 2012-08-23T03:18:54.270 に答える
1
foreach(var key in pair.Keys){
   Console.WriteLine("{0} - {1}", key, pair[key]);      
}
于 2012-08-23T01:41:09.253 に答える
0

個々の値を出力するとはどういう意味ですか? 一意の値のみが表示されることを期待していますか?

        Dictionary<string, string> dict = new Dictionary<string, string>
        {
            {"1","one"},
            {"2","two"},
            {"3","three"},
            {"4","one"}
        };

        foreach (var value in dict.Values.Distinct())
        {
            Console.WriteLine(value);
        }
        Console.ReadLine();

つまり、Distinct()一意の値を取得 するために使用できますdict.ValuesValueColection、辞書の

于 2012-08-23T02:09:36.440 に答える