我需要将2个值保存在一个列表中,以便将所有位置和我的控制板都保存在一个列表中。
我当时使用的是Dictionary,但发现只有一种映射方式。
除了二维数组,没有人有任何建议吗?

最佳答案

如果您不关心反向映射的线性搜索性能(无论如何使用二维数组,则可以轻松地将字典用作双向映射):

var dictionary = new Dictionary<string, int>();
// Fill it up...
int forwardMapResult = dictionary["SomeKey"];
string reverseMapResult = dictionary.Where(kvp => kvp.Value == 5).First().Key;

如果查找速度成问题,则必须维护两个词典-一个用于正向查找,另一个用于反向查找。或使用内存中的可索引数据库(例如SQLite)。

关于c# - 双向映射列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8105007/

10-14 15:13