【发布时间】:2018-07-02 23:41:23
【问题描述】:
我希望以propertyname-property 格式存储信息,我想知道我应该使用对象还是字典。该对象允许我在值类型方面具有灵活性,其中属性可能是年龄、姓名和国籍,并且具有不同类型的值,这使得字典不方便并且需要大量调用 Convert.ToInt32。
另一方面,如果我将它们设为对象,那么我将需要通过名称访问属性,并且我还需要经常查找随机属性的名称。反射对系统来说代价高昂,而且我在委托方面没有运气。
性能是我的关键问题,存储 Propertyname-property 的两种方式似乎都有其缺点(字典只接受一种类型的变量作为值,而对象需要反射)。
这将在一个多次迭代的循环中运行。欢迎使用其他解决方案
谢谢
【问题讨论】:
-
这似乎有点奇怪。字典旨在完全按照您的意愿行事。对象不是。你想要一个运行时关联数组——那就是字典。
-
“字典只接受一种类型的变量作为值和需要反射的对象”——这听起来不对。如果字典的值为
object,那么您可以存储所有内容。此外,使用Dictionary<Type, Dictionary<string, object>>提供强类型、基于键的查找也不难。
标签: .net dictionary object system.reflection