这部分代码给出了一个客户端,它通过检查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