我有一個實現某種字典對象的需求。像MyDict<K,V1, V2)
。例如,如果我有一個問題作爲關鍵(k),那麼正確的答案是V1。 V2是用戶選擇的答案。是否有一個集合可以滿足C#中的這個需求。如果我必須設計自己的類型,我應該實現什麼接口。 ICollection
和Ilist
?C#泛型集合幫助
C#泛型集合幫助
回答
如果您使用的是.NET 4,則可以使用幾個通用的Tuple
類。
所以,你可以使用:
Dictionary<T,Tuple<V1,V2>>
在早期版本中,你可以使用KeyValuePair<T1,T2>
作爲第二泛型類型:
Dictionary<T,KeyValuePair<V1,V2>>
有趣。未來也可能有多個正確的答案。所以我應該創建一個沒有任何泛型的類型。 like class mytype { string問題; IList
集合類被定義爲System.Collections
或System.Collections.Generic
命名空間的一部分。
東西沿着線:
Dictionary<Question,Answer> qDict = new Dictionary<Question, Answer>();
Answer attempt_v2 = new Answer();
Question question = new Question();
if (qDict.ContainsKey(question))
{
Answer actual_answerv1 = qDict[question];
if (actual_answerv1 == attempt_v2)
{
// Answers match
}
}
[注:我只是敲這件事。它可能不是解決匹配問題和答案的最佳解決方案...]
感謝您的幫助。應該是這樣的。 – dcmovva 2010-05-16 07:10:58
我認爲需要一個新的實現。
或者如果您的答案有一個屬性選擇您可以創建。
Dictionary<Question, IList<Answer>>
或U可以有
class Answers {
Ilist Answers;
Answer Selected;
}
感謝回覆 – dcmovva 2010-05-16 07:11:46
- 1. 幫助我重構泛型集合
- 2. C#泛型需要幫助
- 3. Java泛型幫助
- 4. C#與泛型集合類
- 5. C#泛型和集合
- 6. C#泛型和集合
- 7. 泛型集合
- 8. 在html幫助器中從視圖模型訪問泛型集合
- 9. Laravel泛型集合
- 10. 泛型集合MVC
- 11. 泛型與集合
- 12. 上泛型集合
- 13. Java泛型和集合集
- 14. 結合深泛型集合
- 15. 集合泛型類型
- 16. 有沒有包裝非泛型集合的泛型集合庫?
- 17. 從泛型集合到非泛型集合
- 18. C#暴露類COM - 泛型集合
- 19. C#解析JSON到泛型集合
- 20. C#繼承泛型集合,系列化...
- 21. C中的多類泛型集合#
- 22. C#中的泛型集合是IXmlSerializable?
- 23. 序列化泛型集合集合
- 24. SQL集合函數幫助
- 25. 助理使用C#泛型
- 26. 幫助泛型?如何定義泛型方法?
- 27. Scala中的泛型函數幫助
- 28. 在VB中使用泛型的幫助
- 29. 泛型集合沒有
- 30. Java泛型集合懷疑
該版本的.NET Framework的類型? – 2010-05-16 06:54:45
框架是.net 3.5 – dcmovva 2010-05-16 06:58:27