c# - 分别打印字典的键和值

时间:2014-07-22 14:37:18

标签: c# dictionary

我有一个包含键和值的字典。我想打印到控制台的键和值。但我想分别打印键和值。 y是唯一的,m是分配给密钥的值。

请在此处查看我是如何尝试的,但我收到错误消息

  预计

方法,委托或事件

代码:

List<int> col = new List<int>();
Dictionary<int, int> dic = new Dictionary<int, int>();
//iterates through min-max
for (int y = 0; y <= 15; y++)
   {   
 int m = 0;
   //iterates through array
      for (int i = 0; i < Arr.Length; i++)
         { 
            //comparisons
              if (y == Arr[i])
              {
                 m++;

               }

           }
 dic.Add(y,m);  
 Console.WriteLine("Number {0} appears {1} times ", y, dic[y]);

4 个答案:

答案 0 :(得分:5)

您可以使用索引器dic[something]操作来获取给定密钥的值。

Dictionary<int, int> dic = new Dictionary<int, int>();
//rest of my code here
{...}
dic.Add(y,m);
Console.WriteLine("Number {0} appears {1} times ", y, dic[y]);

答案 1 :(得分:0)

首先获取您使用的词典的值

dic[y]

我认为在你的情况下

Console.WriteLine("Number {0} appears {1} times ", y, dic[y]);

就足够了。作为旁注,您不能仅使用键来搜索。

答案 2 :(得分:0)

        Dictionary<int, int> dic = new Dictionary<int, int>();
        //rest of my code here
        int y = 100;
        int m = 200;
        dic.Add(y,m);
        Console.WriteLine("Number {0} appears {1} times ", y, dic[y]);
        foreach (KeyValuePair<int, int> entry in dic)
        {
            Console.WriteLine(entry);
        }
        Console.ReadKey();

答案 3 :(得分:0)

如果你真的想从0到15循环并打印另一个数组包含每个数字的次数(现在这是一个完全不同的要求):

for (int y = 0; y <= 15; y++)
{
    Console.WriteLine("Number {0} appears {1} times ", y, Arr.Count(i => i == y));       
}