gpt4 book ai didi

c# - 初始化属性的良好做法?

转载 作者:行者123 更新时间:2023-11-30 13:29:06 25 4
gpt4 key购买 nike

我有一个类属性,它是一个字符串列表,List。有时此属性为空,或者如果已设置但列表为空,则计数为 0。但是在我的代码的其他地方我需要检查是否设置了这个属性,所以目前我的代码检查它是否为空并且计数是否为 0 这看起来很乱。

if(objectA.folders is null)
{
if(objectA.folders.count == 0)
{
// do something
}
}

关于如何处理这个问题有什么建议吗?也许我应该始终初始化该属性,使其永远不会为空?

最佳答案

当我将 List 作为一个属性时,我通常会有如下所示的内容(这不是一段线程安全的代码):

public class SomeObject
{
private List<string> _myList = null;

public List<string> MyList
{
get
{
if(_myList == null)
_myList = new List<string>();
return _myList;
}
}
}

您的代码将永远不必检查 null,因为如果使用该属性,则会对其进行初始化。然后您只需检查计数。

关于c# - 初始化属性的良好做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692964/

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