c# - 结构容纳 3 列并通过任何列快速查找行

标签 c# data-structures hashtable

我们有一个哈希表作为对值列表的只读引用,如下所示:

internal static readonly Hashtable relationcodeAcodeB = new Hashtable
{
    {"149", "23"},
    {"139", "17"}
}

现在我们需要一个可以容纳 3 个值(列)并通过其他 2 个中的任何一个快速查找值的结构。

像这样:

internal static readonly Hashtable relationcodeAcodeBcodeC = new Hashtable
{
    {"149", "23", "xx"},
    {"139", "17", "xxx"}
}
string codeB=relationcodeAcodeBcodeC[codeA="149"]["codeB"];

最佳答案

假设您的对象具有三个属性 codeA、codeB 和 codeC,您维护三个哈希表,如下所示:

Dictionary<string, MyObj> dictA, dictB, dictC;

创建新的 MyObj 时,将其添加到三个词典中:

dictA[obj.codeA] = obj;
dictB[obj.codeB] = obj;
dictC[obj.codeC] = obj;

抬头很容易。您的示例将被编码为 dictA["149"].codeB

当然,在一个大的查找类中保持整洁。

关于c# - 结构容纳 3 列并通过任何列快速查找行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894708/

相关文章:

c# - "Object reference not set to an instance of an object"错误

c++ - 将新元素插入已排序的链表时出现段错误

iphone - iOS CF 数据结构与 NS 数据结构

c++ - 最快的 C++ map ?

c - 在哈希表中插入一个节点

c++ - String-Interning 使用哪个容器

c# - 如何从单独的进程监视应用程序崩溃

c# - 聚合根和聚合的代码示例

c# - 是否有与 PHP 函数 `parse_str` 等效的 C# ?

hashtable - 具有墓碑的哈希表的负载因子