c# - IList 属性自动获取设置

标签 c#

目前,如果我想为我的类声明一个属性,我会写这行代码:

public string Target { get; set; }

现在对于 IList(泛型),我做这样的事情:

IList<Result> _Results;
public IList<Result> Results
{
    get
    {
        if (_Results == null)
            _Results = new List<Result>();
        return _Results;
    }
    set
    {
        _Results = value;
    }
}

get 部分我检查列表是否为空,然后我将创建一个新的... 我怎样才能避免这部分并拥有更少和更清晰的代码?

最佳答案

如果使用 C# 6,您可以使用 null-coalesce运算符 ??:

IList<Result> _Results;
public IList<Result> Results
{
    get => _Results ?? (_Results = new List<Result>());

    set
    {
        _Results = value;
    }
} 

关于c# - IList 属性自动获取设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53512805/

相关文章:

C#,从二进制文件中读取结构

c# - 在代码隐藏中将模型数组绑定(bind)到 View 模型

c# - 泛型方法类型和方法参数不匹配

c# - 如何根据搜索条件创建动态 linq 查询

C#:从泛型到值类型的转换

C# Hashtable.cs 没有所有素数

javascript - 正在验证 MVC 隐藏字段

c# - 如何在运行时请求 iOS 权限(相机和位置)?

c# - 列表的扩展方法

c# - 最初设置的类声明在内部是否与在构造函数中设置它们相同?