這部分代碼給出了一個客戶端,它通過檢查ID是否已被使用或未被使用,然後檢查下一個最高ID來連接到服務器的ID。出於某種原因,這導致了一個永無止境的循環,爲什麼呢?爲什麼這會導致inf。循環?
int IDcounter = 0;
bool IDfound = false;
bool IDused = false;
while (!IDfound)
{
Console.WriteLine("Current ID check " + IDcounter);
Console.WriteLine("Number of clients " + clientList.Count);
foreach (Client id in clientList)
{
if (id.ID == IDcounter)
{
IDused = true;
IDcounter++;
break;
}
}
if (!IDused)
{
client.ID = IDcounter;
IDfound = true;
}
}
clientList.Add(client);
「IDcounter」分配在哪裏? – 2012-03-07 22:13:05
對不起,對於IDfound,編輯錯誤 – user1255805 2012-03-07 22:13:51
如果這是分配一個標識符用作數據庫密鑰,這不是一個好主意。 – 2012-03-07 22:17:00