性能影响 - C#类,包含未使用的属性数

时间:2018-04-21 15:00:20

标签: c# performance class data-structures

我有一个名为客户的课程。它有大约15个领域。
在列出客户端详细信息或添加/更新时,会使用所有字段,但有一种情况我只需要 ClientId &列表。的公司名称即可。

将这两个字段从数据库分配给类对象然后使用类列表是否会对性能产生影响?什么是更好的?为这两个字段创建单独的类,或者如果我使用10-15个字段的类,这是可以的,但只分配我想要的2个字段?

1 个答案:

答案 0 :(得分:1)

  

将这两个字段从数据库分配给类对象,然后使用类列表会对性能产生影响吗?

你创建的每个实例都会有这些字段,它们会占用内存。是否重要是否是另一回事。如果您只创建了几个实例,那么它可能无关紧要。如果您正在创建数百万个实例并且运行时内存有限,则可能会出现问题。

更重要的是,从我的角度来看,使用Clients的代码(任何原因,它不仅仅是Client,单数?)可能不会意识到只会填充这两个属性。对于您来说,仅使用这些属性创建另一个类可能会更加可读。如果您需要编写可以使用“有限”或“完整”版本的代码,有两种选择:

  • 为“有限”和“完整”版本创建实现
  • 的界面
  • 使“有限”版本成为“完整”版本的基类

在这两种情况下,当您只需要限制版本时,您将获得非常可能不相关的性能优势,即没有一堆未填充的字段,但更重要的是,您可以清楚地了解任何特定部分的信息。代码确实需要。