我有一个实现某种字典对象的需求。像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