用于保存3列并通过任何列快速查找行的结构

VSP*_*VSP 5 c# hashtable data-structures

我们有一个哈希表作为对这样的值列表的只读引用:

internal static readonly Hashtable relationcodeAcodeB = new Hashtable
{
    {"149", "23"},
    {"139", "17"}
}
Run Code Online (Sandbox Code Playgroud)

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

像这样的东西:

internal static readonly Hashtable relationcodeAcodeBcodeC = new Hashtable
{
    {"149", "23", "xx"},
    {"139", "17", "xxx"}
}
string codeB=relationcodeAcodeBcodeC[codeA="149"]["codeB"];
Run Code Online (Sandbox Code Playgroud)

zmb*_*mbq 3

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

Dictionary<string, MyObj> dictA, dictB, dictC;
Run Code Online (Sandbox Code Playgroud)

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

dictA[obj.codeA] = obj;
dictB[obj.codeB] = obj;
dictC[obj.codeC] = obj;
Run Code Online (Sandbox Code Playgroud)

向上查找非常容易。您的示例将被编码为dictA["149"].codeB

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

  • 不,不,创建一个用于执行查找的查找类,并将三个字典隐藏在其中。您的查找实例可以是只读的。 (2认同)