使用循环向Dictionary添加值

时间:2013-01-07 13:07:37

标签: c#

我正在构建一个小型应用程序,用匹配填充包,在第一个函数中我设置包的数量,在第二个函数中我“插入”匹配包的数量。当我试图运行它的时候告诉我“已经添加了一个具有相同键的项目。”,为什么这样以及我如何修复它?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Drill
{
    public class NewMatchesGame2
    {
        Dictionary<int, int> dictionaryPack = new Dictionary<int, int>();

        public void manageGame()
        {
            Console.WriteLine("how many packs? : ");
            string p = Console.ReadLine();
            int packs = Convert.ToInt32(p);


            for (int i = 0; i < packs; i++)
            {
                dictionaryPack.Add(i, 0);
            }

            InitializeGame();
        }

        public void InitializeGame()
        {
            string s = dictionaryPack.Count.ToString();
            int Pa = Convert.ToInt32(s);
            int minPack = Pa / Pa;
            int dmin = minPack;

            while (Pa > minPack)
            {

                Console.Write("how many matches in pack number :" + minPack + " : ");
                string a = Console.ReadLine();
                int matchNumber = Convert.ToInt32(a);
                int val = matchNumber;

                for (int x = 0; x < minPack; x++)
                {
                    dictionaryPack.Add(minPack , matchNumber);
                }
                minPack++;

                /// Print(matchNumber);
                /// computerPlay(matchNumber);
            }

        }
    }
}

1 个答案:

答案 0 :(得分:0)

在您的职能manageGameInitialize中,您使用相同的dictionaryPack

当您插入dictionaryPack.Add("KEY","VALUE")时,密钥应该是唯一的。显然你没有使用唯一值。

您正在尝试更新包。但是使用Add方法!!