dictionary<>是键值集合,键不能重复,但是值可以重复。请问NET有没有提供一一映射的集合,键值都不能重复,并且键值是一一对应,可以从一个键得到一个值,也可以从一个值得到一个键。NET有这样的现成类吗??

解决方案 »

  1.   

    NHibernate
      

  2.   

    没找到过这种东西,但我有过这样的应用,我是自己写的方法,是使用字符串,比如如下内容
    a=b
    a1=b1
    a2=a2保存成为
    t="|a|[b]|a1|[b1]|a2|[a2]"
    如果比如我要判断键a2是否存在,只需要判断 t.indexOf("|a2|")的值
    效率还是很高的,一秒种可以操作百万次,而且很省内存。
      

  3.   

    可能没有,
    那样你往字典中放时检查一下不就好了
    要不把Dictionary<>重写下了
      

  4.   


    真的没有 不过Dictionary 貌似不能被继承把……
      

  5.   

    应该有的吧,我记得有一个
      public class StorefrontRegistry : Registry
        {
            protected override void configure()
            {
                ForRequestedType<ILogger>()
                  .TheDefaultIsConcreteType<NLogLogger>();
    }}
    就是这个Registry类,重写的它的方法就OK了,它是用类初始化接口,你也可以用程序集动态初始化接口哦。。不知道有没有帮助...