使用什么通用/动态集合? (设计问题)

时间:2009-06-03 16:59:23

标签: c#

我们正在创建一个简单但改进的计费解决方案。由于我们必须根据一些现在不重要的原因使用不同的提供者,因此我想到了处理这个问题的最佳方法。不同的提供者可能具有密钥和值。我可以将值存储为对象,但我还需要存储类型。我想创建一个让我们称它为Tuple类:

public class Tuple<TType, TValue>
{
    public TType Type { get; set; }
    public TValue Value { get; set; }
}

现在我可以使用它来存储类型引用,但我感觉有些东西丢失了。要使用像字典这样的查找集合,我可以:

public IDictionary<string, Tuple<Type, object>> TechnicalDetails = 
  new Dictionary<string, Tuple<Type, object>>

改善建议?必须有更好的方法吗? :)

3 个答案:

答案 0 :(得分:1)

你要在字典中存储多少项? hybrid dictonary可能会提供更好的效果吗?

答案 1 :(得分:0)

在这种情况下,我倾向于编写一个类来包含/隐藏数据结构,并提供抽象数据结构细节的方法和属性,在本例中为Dictionary<string, Tuple<Type, object>>。< / p>

像Find(),Get(),Add(),Remove()等方法很容易添加,因为数据结构本身已经有类似的方法。

答案 2 :(得分:0)

表示任何实例的方法不止一种。

Dictionary<string, XElement>