是这样的,我需要在程序中动态生成key value type 三种类型的变量,三个一组,程序中生成的组数不一定,然后需要返回这些数据。现在我想定义一个类型可以存放三个值的结构,dictionary只有key value两个,如何自定义一个类存放三个值?并且这个类也要有add方法(因为数组大小不是固定的,相当于一个三维表吧),我该如何做呢。
那不用上面的方法,是不是还有其他方法实现呢。

解决方案 »

  1.   

    list<int,int,int> l=new list<int,int,int>();
    l.Add(1,1,1)
    ?
      

  2.   

    可以参考Dictionary去写一个自己的类
    public class Dictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallbackpublic class Dictionary3<Key,Value,Type> : 实现某些你需要的接口如果你只需要Add、Get这种简单的方法,也可以不实现接口,直接自己写这几个方法
      

  3.   

    使用 Tuple<T1, T2, T3>
    如果希望第一个参数作为Key,可以
    Dictionary<T1, KeyValuePair<T2, T3>>