C# 管理配对服务器的数据

C# 管理配对服务器的数据,c#,C#,我正在创建多人游戏(没什么大不了的,只是在试验),我遇到了一个“问题”,我必须存储3个值-用户ID、区域和类型 我有两个存储它们的选项:userid、tuple public Dictionary<int, Tuple<int, int>> BigDictonary = new Dictionary<int, Tuple<int, int>>(); public Dictionary bigdictorial=new Dictionary();

我正在创建多人游戏(没什么大不了的,只是在试验),我遇到了一个“问题”,我必须存储3个值-用户ID、区域和类型

我有两个存储它们的选项:userid、tuple

public Dictionary<int, Tuple<int, int>> BigDictonary = new Dictionary<int, Tuple<int, int>>();
public Dictionary bigdictorial=new Dictionary();
或者:userid,type

public Dictionary<int, int> Zone1 = new Dictionary<int, int>();
public Dictionary<int, int> Zone2 = new Dictionary<int, int>();
公共字典区域1=新字典();
公共字典区域2=新字典();
我的区域是预先确定的,在比赛过程中不会改变


我应该使用哪种方法,一个大的听写还是几个小的?

您考虑过创建一个用于存储这些数据的类吗

public class Zone {
     // UserID as key, type as value.
     public Dictionary<int, int> Users { get; set; }

     public Zone {
          Users = new Dictionary<int, int>();
     }

     public void AddUser(int userID, int typeID)
          Users.Add(userID, typeID);
     }
}

您如何在应用程序中使用此信息?这三个值的组合代表什么?一旦它在字典中,你打算如何使用它?也许你可以创建一个小类(对象)来保存这3个值?通过这种方式,将来很容易添加值。根据OP此时提供的信息,三个值的任何排列都可能是由类表示的“根”,也就是说,为什么不让属性为“Zone”和“Type”的类“User”呢?@Alex,这是可能的,我对OP试图做的事情有点困惑,我没想到这一点,谢谢你提出来。我一定会用的。
Zone1 = new Zone();
Zone2 = new Zone();

Zone1.AddUser(1, 0);