.NET中的内射字典

时间:2011-03-24 08:14:13

标签: c# generics dictionary

早上好,下午或晚上,

在.NET中是否有injective Dictionary之类的内容,或者至少我可以强制Dictionary定义内射映射的任何方式?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用

    public class InjectiveDictionary<T, V> : Dictionary<T, V>
    {
        public new void Add(T key, V value)
        {
            if (this.ContainsValue(value))
            {
                throw new Exception("value already used");
            }
            base.Add(key, value);
        }


    public InjectiveDictionary(Dictionary<T, V> dict)
    {
        foreach (var entry in dict)
        {
            this.Add(entry.Key, entry.Value);
        }
    }

    public InjectiveDictionary()
    {
    }
}