gpt4 book ai didi

C# 将列表更改为哈希集,现在出现错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:02 25 4
gpt4 key购买 nike

<分区>

我正在制作多人游戏,在游戏中添加玩家时遇到了一些问题。我将列表更改为哈希集,因为我不想要重复的值。首先制作新的哈希集:public static HashSet<Players> PlayersList = new HashSet<Players>();

玩家类:

public class Players
{
public int ID;
public string IP;
public string name;
public int locationX;
public int locationY;
public int locationXLatest;
public int locationYLatest;
public int dir;
public bool PlayerConnected = false;
public bool PlayerDisconnected = false;
}

在游戏中使用 for (ERROR) 添加玩家:

for (int i = 0; i < Globals.Globals.PlayersList.Count; i++)
{
var ent = Globals.Globals.PlayersList[i]; //<-- ERROR! WORKING IF USING LIST BUT GETTING THIS ERROR IF I'M USING HASHSET: Cannot apply indexing with [] to an expression of type 'System.Collections.Generic.HashSet<Players>

if (ent.name != null && !ent.PlayerConnected && !ent.PlayerDisconnected)
{
ent.PlayerConnected = true;
//My secret code :D Addind player in game :3
}
}

使用 foreach 在游戏中添加玩家(工作,但如果列表修改 -> 崩溃)

foreach (var ent in Globals.Globals.PlayersList)
{
if (ent.name != null && !ent.PlayerConnected && !ent.PlayerDisconnected)
{
ent.PlayerConnected = true;
//My secret code :D Addind player in game :3
}
}

如果使用列表,工作正常,但新的列表项一直在发送垃圾邮件,因为玩家添加是添加循环,检查连接是否打开。或者它可能使用列表但没有得到双重值(value)?我尝试检查是否添加了玩家,但随后玩家没有显示...

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com