2016-07-08 75 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