【问题标题】:How can I print the Dictionary values from this array instead of System.int32[]? [duplicate]如何从这个数组而不是 System.int32[] 打印字典值? [复制]
【发布时间】:2016-07-08 02:13:09
【问题描述】:

我正在尝试打印下面显示的 QandA_Dictionary 中的每个键和值,但我不断得到 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();
        }
    }
}

【问题讨论】:

    标签: c#


    【解决方案1】:

    这是最简单的改变:

    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();
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:
                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();
        

        【讨论】:

          猜你喜欢
          • 2022-11-22
          • 1970-01-01
          • 1970-01-01
          • 2018-08-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多