5

次のような値のリストへの読み取り専用参照として1つのハッシュテーブルがありました。

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"];
4

1 に答える 1

2

オブジェクトにcodeA、codeB、codeCの3つのプロパティがあるとすると、次のように3つのハッシュテーブルを維持します。

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

新しいを作成するときはMyObj、それを3つの辞書に追加します。

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

見上げるのはとても簡単です。あなたの例は次のようにコード化されますdictA["149"].codeB

もちろん、1つの大きなルックアップクラスですべてを整理してください。

于 2012-06-05T09:40:12.940 に答える