2016-07-08 56 views
0

我想从下面显示的QandA_Dictionary打印每个键和值,但我不断获取System.int32 []而不是我列出的实际值。有人能指出我解决这个问题的正确方向吗?如何从此数组中打印字典值而不是System.int32 []?

using System; 
using System.Collections; 
using System.Collections.Generic; 

namespace DictionaryPractice 
{ 
    class MainClass 
    { 
     public static void Main(string[] args) 
     { 

      Dictionary<string, int[]> QandA_Dictionary = new Dictionary<string, int[]>(); 
      QandA_Dictionary.Add("What is 1 + 1?", new int[] { 1, 2, 3, 4 }); 
      QandA_Dictionary.Add("What is 1 + 2?", new int[] { 1, 2, 3, 4 }); 
      QandA_Dictionary.Add("What is 1 + 3?", new int[] { 1, 2, 3, 4 }); 
      QandA_Dictionary.Add("What is 1 + 4?", new int[] { 2, 3, 4, 5 }); 
      foreach (var pair in QandA_Dictionary) 
      { 
       Console.WriteLine("{0},{1}", pair.Key, pair.Value); 
      } 
      Console.ReadKey(); 
     } 
    } 
} 

回答

3

这是最简单的变化:

Dictionary<string, int[]> QandA_Dictionary = new Dictionary<string, int[]>(); 
QandA_Dictionary.Add("What is 1 + 1?", new int[] { 1, 2, 3, 4 }); 
QandA_Dictionary.Add("What is 1 + 2?", new int[] { 1, 2, 3, 4 }); 
QandA_Dictionary.Add("What is 1 + 3?", new int[] { 1, 2, 3, 4 }); 
QandA_Dictionary.Add("What is 1 + 4?", new int[] { 2, 3, 4, 5 }); 
foreach (var pair in QandA_Dictionary) 
{ 
    Console.WriteLine("{0},{1}", pair.Key, String.Join(", ", pair.Value)); 
} 
Console.ReadKey(); 
+0

太棒了!这正是我想要做的。我现在将讨论一些实际的逻辑。它似乎只是一些语法类型的东西导致我的问题。我是编程和本网站的新手。我会等5分钟,然后给你一个复选标记。其他人在你离开后2分钟回答,所以我在等待我是否应该遵守一些现场道德规范,或者只是先以先到先得的方式给予奖励。我很快就会掌握所有这一切。再次感谢芽。如果我的回应与本网站的运作不符,我下次将忽略“华夫饼”。 – sean

2

您可以使用string.Join你的数组转换成字符串

Console.WriteLine("{0},{1}", pair.Key, string.Join(",", pair.Value)); 
+0

对不起,哥们,我是新来这个网站看起来像你之前回答的人(@Enigmativity)在2分钟内击败你。我想我应该给他一个检查标记,但我不确定这整个事情是如何工作的。如果你不同意我给他的信用让我知道,或者如果有办法给你们两个信贷,也让我知道。我发布到网站的第一个问题并没有得到很好的解决。我很高兴我的第二次尝试为我提供了一些有用的信息。无论如何,感谢您的帮助。 – sean

+0

@sean很高兴你解决了你的问题..当然,我不介意你接受任何答案。祝你有个愉快的一天:) –

+1

谢谢@艾哈迈德·易卜拉欣,我相信我会在这里再次见到你 – sean

-1
 var qandADictionary = new Dictionary<string, int[]> 
     { 
      {"What is 1 + 1?", new[] {1, 2, 3, 4}}, 
      {"What is 1 + 2?", new[] {1, 2, 3, 4}}, 
      {"What is 1 + 3?", new[] {1, 2, 3, 4}}, 
      {"What is 1 + 4?", new[] {2, 3, 4, 5}} 
     }; 
     foreach (var pair in qandADictionary) 
     { 
      var stringArray = Array.ConvertAll(pair.Value, i => i.ToString()); 
      Console.WriteLine(string.Format("{0},{1}", pair.Key, string.Join(" ", stringArray))); 
     } 
     Console.ReadKey(); 
+0

谢谢,前2个回复显示我出错的地方。一个问题是,与前两个用户分享的内容相比,使用您显示的方法有什么优势? – sean

+0

#嘿嘿我就单纯的试试看能不能回答 – UglyMelon007

+0

我在中国我第一次回答试试能不能回答 – UglyMelon007