c# - 构造函数中的实例化或字段定义中的实例化有什么区别?

标签 c# constructor

这有什么区别:

public class Foo {
    private Bar bar;
    public Foo() { bar = new Bar(); }
}

还有这个:

public class Foo {
    private Bar bar = new Bar();
    public Foo() { }
}

最佳答案

不同之处在于,在第二种情况下,字段初始化发生在 this/base 构造函数之前,而在第一种情况下,初始化发生在构造函数内部。

关于c# - 构造函数中的实例化或字段定义中的实例化有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381715/

相关文章:

c++ - ctor 声明/定义中接受的 const 限定符(llvm 错误?)

c++ - vector 构造函数中的段错误

c# - WPF 如何将 FlowDocument BGImage 转换为 FixedDocument 并在 DocumentViewer 中显示?

c# - 如何将对象作为 POST 参数发送到 ASP.Net Web 请求?

c# - 有没有一种简单的方法可以将 32 位整数转换为 16 位整数?

c++ - 解构c++类运算符重载和构造函数初始化列表

java - 备用构造函数调用

c# - 用于 token 的 Google OAuth 数据存储

c# - 审批工作流的同义词

python - 你如何在 __init__ 中调用类的方法?