我正在为程序创建状态管理器。每个州都有一个 ID 和一个 State 类。我可以使用 Add() 函数添加任意数量的统计信息。使用 Change(ID) 函数会将状态更改为列表中具有匹配 ID 的状态。然后对管理器的进一步调用将引用设置状态。
我想创建一个二维列表:
//short = ID No, IState = Sate Interface all states are based on
List<short, IState> StateList = new List<short, IState>();
我认为对于 C#,我需要创建一个列表列表来获得 2D,但我不确定,因为 Intellisense 将其标记为 List < T >,其中 T 是参数。有更好的方法吗?如果这是非常基本的,我深表歉意,因为我对整个 List 想法还很陌生。
最佳答案
只需将 List
替换为 Dictionary
。你想要一个键/值对作为你的列表项,字典提供了它。
Dictionary<short, IState> StateList = new Dictionary<short, IState>();
然后您可以索引到字典中以找到您想要的状态:
// Retrieve State 5
var state5 = StateList[5];
关于c# - 有效的 C# 二维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656053/