在公司实习,代码库里经常会遇到字典嵌套字典再嵌套一堆其它东西的变量,跟起来很费力。
像一些这样的:
(1)private Dictionary<string, Dictionary<string, List<string>>> dictionary = new Dictionary<string, Dictionary<string, List<string>>>();(2)Dictionary<string, Dictionary<string, int>> dictionary = new Dictionary<string,Dictionary<string,int>>();
请问这样的用法是好的用法选择吗?如果是的话我就学一学,
如果不是的话应该有哪些方法可以代替上面的那种声明还能完成同样的类似的事情?
是新手在学习,害怕开始就养成不好的编码习惯,但又不能识别好与不好,所以发上来问问!

解决方案 »

  1.   


    用法上没有问题,参数的Dictionray最好用接口private Dictionary<string, IDictionary<string, ICollection<string>>>从业务逻辑上要看看是不是必要
      

  2.   

    个人感觉不好,是偷懒的做法,一般面对的问题复杂的时候应该构造更多具体的类,而不是一味的用现成的泛下去搞的自己都不清楚什么时候这个字段会被垃圾回收,或者怎样自己可以Dispose().
    不过我也是.net新手,只是一家之言
      

  3.   

    字典 不用遍历  需要遍历的 也只有最里面的 list   只要有2个key 可以很方便的拿到list
      

  4.   

    字典可以大大提高查找效率,可以自定义对象实现字典接口
    class HashT : IDictionary<string, IList<string>>使得代码结构更清晰