gpt4 book ai didi

c# - 构造函数内部或外部的成员初始化

转载 作者:太空狗 更新时间:2023-10-30 00:57:45 27 4
gpt4 key购买 nike

这两个初始化哪个更好?

public class ServiceClass
{
private DataManager dataManager = new DataManager();
private Dictionary<string, string> stringDictionary = new Dictionary<string, string>();
private Dictionary<string, DateTime> timeDictionary = new Dictionary<string, DateTime>();
public ServiceClass()
{
//other object creation code
}
}

public class ServiceClass
{
private DataManager dataManager;
private Dictionary<string, string> stringDictionary;
private Dictionary<string, DateTime> timeDictionary;
public ServiceClass()
{
dataManager = new DataManager();
stringDictionary = new Dictionary<string, string>();
timeDictionary = new Dictionary<string, DateTime>();
//other object creation code
}
}

最佳答案

我更愿意使用构造函数。

这是因为我们残酷地发现了一个陷阱,即通过序列化程序(在本例中为数据契约序列化程序)重建的对象没有调用其字段初始化程序。

此外,它确保所有初始化逻辑都相应地组合在一起,而不是潜在地散布在整个代码中(无论您希望在何处定义字段变量)。

关于c# - 构造函数内部或外部的成员初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4456988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com