0

2 つのキーと 1 つの値で構成される辞書を作成したいと考えています。それは可能ですか?

Dictionary<(key1, key2), Type> dict = new Dictionary<(key1, key2), Type>();

次に、この 2 つのキーで辞書を検索し、Type を取得します。key1 と key2 がこのようなオブジェクト内にあることを試しました

Dictionary<Object, Type> dict = new Dictionary<Object, Type>();

次に、このような属性を持つ新しいインスタンス オブジェクトを辞書に追加しました

//myObject has many attributes that are empty and I just fill this 2 ones to build my dict
Object myObject = new Object();
myObject.Key1 = "A";
myObject.Key2 = "B";
dict.Add(myObject, (Type)objType);

しかし、見つけたいオブジェクトにはDBからデータがロードされており、おそらく多くの属性が入力されています。

TryGetValue を使用すると何も返されないので、同じではない同じ参照で探しているためだと思います。

問題は、2 つのキー (STRING、STRING) と 1 つの戻り値 (TYPE) を持つ辞書を簡単に作成するにはどうすればよいかということです。

ありがとう

4

2 に答える 2

1

私は以下を使用します:

Dictionary<Tuple<string, string>, Type>

ここのmsdnページから:

http://msdn.microsoft.com/en-us/library/dd270346.aspx

Tuple では Equals メソッドがオーバーライドされているので、オブジェクト参照ではなく、Tuple の内容でキー マッチングを取得する必要があります。

dict に追加すると、次のようになります。

dict.Add(new Tuple<string,string>(myObject.Key1, myObject.Key2), (Type)objType);
于 2013-10-30T03:57:11.837 に答える