簡體   English   中英

如何在字典C#中返回給定2個參數的對象類型

[英]How to return an object Type given 2 parameters in a dictionary C#

我想建立一個由2個鍵和1個值組成的字典。 那可能嗎?

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

然后,我想通過這兩個鍵在字典中查找並獲取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)構建字典。

謝謝

不確定2鍵的意思。 如果要包含兩個值的鍵,請使用Tuple,例如

Dictionary<Tuple<int, int>, string>

另一種選擇是使用字典的字典,例如

Dictionary<int, Dictionary<int, string>>

我將使用以下內容:

Dictionary<Tuple<string, string>, Type>

從此處的msdn頁面:

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

我相信Equals方法已被Tuple覆蓋,因此您應該在Tuple的內容而不是對象引用上獲得鍵匹配。

添加到字典將是:

dict.Add(new Tuple<string,string>(myObject.Key1, myObject.Key2), (Type)objType);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM