-3

以下の関数を確認してください。次のようなプログラムを実行すると例外が発生します

「同じキーを持つエントリが既に存在します」。

if 条件の内部。しかし、同じ重要な例外が発生する可能性はないと思います。解決策を見つけるのを手伝ってください。

int loop=0;
string a;
string b;
string c;
string d;
string e;
string f; 

public void function()
{
   loop++;
   int i = -1;
   while(i>0)
   {
        string[] strDataArray = new string[]  {a,b,c,d,e,f};
        SortedList<decimal, string[]> slData = new SortedList<decimal, string[]>();

        slData = dicData[dicIP[socCurrentSocket.RemoteEndPoint.ToString()]];
        if (!slData.ContainsKey(ConvertToDecimal(0013b84b83a6) + loop))
                        slData.Add(ConvertToDecimal(0013b84b83a6) + loop, strDataArray);
    }
  }
4

1 に答える 1

1

あなたのループに何か問題があります:

  1. i は -1 に等しく、ループに入ることさえありません
  2. ループ変数がループ内で更新されることはありません
于 2012-12-28T05:50:54.967 に答える