c# - 有效的 C# 二维列表

标签 c# list object

我正在为程序创建状态管理器。每个州都有一个 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/

相关文章:

c# - 匿名类型的 default(T) 行为

java - 动态创建其他类的新对象?

javascript - 从 jQuery 到 Django 的字典对象混淆!

python - 连接不同列表中的两个字符串

java - 迭代器如何与构造函数一起使用

c# - 如何将 SQL "WHERE expr IN (query)"翻译成 LINQ?

c# - asp.net mvc ajax发送两个参数

c# - 通过对DynamicObject的TryInvokeMember覆盖使用扩展方法

python - Python flood-fill 算法的奇怪行为

list - 如何在Prolog中将split/3转换为split/4?