我正在构建一个小型应用程序,用匹配填充包,在第一个函数中我设置包的数量,在第二个函数中我“插入”匹配包的数量。当我试图运行它的时候告诉我“已经添加了一个具有相同键的项目。”,为什么这样以及我如何修复它?
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);
}
}
}
}
答案 0 :(得分:0)
在您的职能manageGame
和Initialize
中,您使用相同的dictionaryPack
。
当您插入dictionaryPack.Add("KEY","VALUE")
时,密钥应该是唯一的。显然你没有使用唯一值。
您正在尝试更新包。但是使用Add方法!!