1
嗯,我試圖同時使用兩個「For」命令。同時使用兩個「For」
的代碼:
public static void SendToMap(string map, string packet)
{
for (int i = 0; i < Clients.Count; i++)
for (int i2 = 0; i2 < Globals.Player_HighIndex; i2++)
{
Console.Write(i);
Console.Write(i2);
if (PStruct.character[i2, PStruct.player[i2].SelectedChar].Map == map)
{
if (Listen.Clients[i].Index == i2)
{
Clients[Listen.Clients[i].ListIndex].TCPClient.Client.SendBufferSize = Encoding.UTF8.GetByteCount(packet);
Clients[Listen.Clients[i].ListIndex].TCPClient.Client.Send(Encoding.UTF8.GetBytes(packet));
}
}
}
}
的Globals.Player_HighIndex值是1,並且Clients.Count爲0,即,欲要執行的命令如下:
(0,0) (0,1)
什麼完成:
(0,0)
任何人有提示或解決?
Globals.Player_HighIndex的價值是什麼?是否有任何機會爲零? –
使用一個調試器,並通過你的代碼... –
請注意,「Clients.Count」爲0「似乎與你得到的輸出矛盾 - 如果情況是這樣的話,執行甚至不應該進入第一個循環。 –