日期:2014-05-17  浏览次数:20541 次

类和字典 的传递的性能耗费区别
两种方式传值:
      1.用实体传
      2.用字典传
比如实体的字段非常多无法想象的多(比方),如果直接构建实体传到方法做处理。和把这些字段做到字典里面传到方法中做处理。这两种方式哪种比较耗资源?

如果用字典传的话是不存在实体的哦!不要看成把实体转换成字典了哟!
性能 字典

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

字典的缺点是,作为Value的类型要么一样,要么使用object
而实体类每个属性是独立的。

字典也不能做编译期间的类型检查和像实体类那样编写get/set来检验数据的合法性。

至于查找的性能,MSDN是这么说的:
Dictionary<TKey, TValue>  泛型类提供了从一组键到一组值的映射。 字典中的每个添加项都由一个值及其相关联的键组成。 通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary<TKey, TValue> 类是作为一个哈希表来实现的。 

http://msdn.microsoft.com/zh-cn/library/xfhwa508(v=vs.95).aspx

这个你不用担心。



如果全局都用字典传递的话,除了性能上的影响,其他方面有没局限性呢?


我不是已经回答了这个问题了么。


我是想知道后期的维护上,和扩展方面。 因为我现在接触了一个完全用字典传递数据的项目感觉很怪异


其实你可以用dynamic类型。
dynamic内部维护一个字典,对外看上去是一个实体类。