[英]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.