c# - 在 C# 中哪种对象初始化风格更合适?

标签 c#

哪种对象初始化风格在 C# 中更合适?

  • 声明私有(private)对象并在同一行中初始化它:

    private List<ReportRow> rows = new List<ReportRow>();
    
  • 声明私有(private)对象并在构造函数中初始化它:

    private List<ReportRow> rows;
    

    在构造函数中

    rows = new List<ReportRow>();
    
  • 声明私有(private)对象并在使用它的方法中初始化它:

    private List<ReportRow> rows;
    

    在我的 Run() 方法中

     rows = new List<ReportRow>();
    

谢谢

最佳答案

所有这些都合适。这实际上取决于代码的细节。如果您只是将字段初始化为空列表,我的偏好是根据声明对其进行初始化。如果您将值放入依赖于构造函数参数的列表中,那么我会在构造函数中对其进行初始化。如果人口成本昂贵并且可以跳过,那么我会在第一次调用消耗代码时对其进行初始化。

关于c# - 在 C# 中哪种对象初始化风格更合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14103066/

相关文章:

c# - 将 RadioButton 绑定(bind)到枚举

c# - 检查数字是否为质数

c# - 从模型的 ICollection 中提取一个属性作为 List<String>

c# - WCF REST 和 QueryString,错误的 UriTemplate?

c# - 有没有办法将 IReadOnlyCollection<T>/IReadOnlyList<T> 与 protobuf-net 一起使用

c# - 为什么我会收到错误 'unreachable code detected' ?

c# - 设置加载指示器的位置

c# - 从 xml 文件中获取参数数组

c# - 如何将 intelliJ 键绑定(bind)导入 Linux 上的 MonoDevelop?

c# - ImageResizer 错误