我应该在我的 C# 程序中使用 Main 方法还是使用 reader 方法来创建我的列表?

Should I use the Main method in my C# program or the reader method to create my list?

我正在开发一个项目,该项目将从 excel sheet 中读取数据,将每一行放入名为 "Sale" 的 class 中,然后在其中操作列表未来。我应该将销售额添加到我用来阅读 excel 文档(标题为 "Reader")的 class 列表中,还是应该在 Main class 中创建列表和方法。我目前有我的主要方法创建 Reader 的实例。这个 reader 然后传递行,或者 "Sales" 通过一个修饰符来对它们进行排序。然后打印机 class 将该列表作为参数并将其打印到不同文档的同一工作簿上。

做一个或另一个会对我的程序产生重大影响吗?如果是这样,为什么以及哪个在效率和组织方面更好。

我同意@Deolus 关于 Sales 是它自己的 class。

SalesReader 分开,因为它们有不同的用途。如果创建 Reader class 只是为了从 excel sheet 读取数据,那么它应该是唯一的 objective。在 Sales class 中,您可以创建其他方法来在将来操纵销售列表。


做一个或另一个会对我的程序产生重大影响吗?

在 运行 程序的速度方面,这不会有什么不同,但在可维护性方面,这是 GOLD

这是separation of concerns的完美范例。保持代码组织得越好,而不是杂乱无章的代码,将来维护此代码时,您的效率和效率就会越高。因此,显着差异 将是您将来必须维护和维持它的时候。

希望对您有所帮助。

这是一个棘手的问题,因为您没有定义以后 action/classes 您的工作对象。 如果您有另一个 class 来处理该数据,最好从您的记忆中删除 reader class 的实例。 但是,将列表保留在主 class 中也可能不好,例如,重要的是要知道您是按值还是按引用传递。让你的 reader class 传递值,让你的主 class 保存这些值并将它们传递给你的工作 class 可能对 cpu 不利(因为这需要更多步骤)和内存,因为您创建了副本 - 也许您在传递后不再需要主 class 中的数据。

影响效率的还有硬盘驱动器 space(虽然没有人关心这一点,但对于小型应用程序而言,它毕竟并不重要)- 更少的代码占用更少的硬盘驱动器通常是记忆力更强 and/or cpu.

你的问题通常是含糊不清的明确说明什么更有效,但你也必须注意,代码优化是为了增强现有代码,而不是首先构建代码本身。