我在一个项目统一工作,即时通讯使用字典来存储玩家信息,然后分配一个用户ID int到玩家这是什么即时尝试使字典中的球员信息的索引位置,但我想即时尝试使用这个系统是完全错误的。目前,我有这样的代码:通过索引获取c#词典的项目?
public class Players : IComparable<Players> {
public int userID;
public string userName;
public int userHealth;
public GameObject userPlayer;
public Players(int newID,string Name,int Health,GameObject player){
userID = newID;
userName = Name;
userHealth = Health;
userPlayer = player;
}
public int CompareTo(Players other){
if(other == null){
return 1;
}
return userID - other.userID;
}
}
创建我使用
private Dictionary<NetworkPlayer, Players> playerList = new Dictionary<NetworkPlayer,Players>();
要添加到它的词典我使用
playerList.Add(player,new Players(playerList.Count,"Test", 100, playerObj));
我希望使用playerList.Count
一部分一个索引它的方法,然后通过这个索引对它进行排序以获得我想要的玩家回来......有没有一种方法可以正确地做到这一点?这是我第一次尝试在c#中使用dictionarys,并且我发现很难理解它们是如何工作的,如果有人能够帮助我找到一个工作方法来做到这一点。我所需要做的就是根据索引或使用NetworkPlayer类来返回数据。
如果有人可以帮助我引导一个工作方法来做这个id感激,谢谢。
['OrderedDictionary'](http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary(v = vs.110).aspx)也许? –
你应该看看SortedDictionary类。 http://msdn.microsoft.com/en-us/library/ms132289(v=vs.110).aspx –
@TimSchmelter哇我发现有序列表,但我不知道有一个有序的字典...谢谢,看起来很完美!我愚蠢。 –