首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何为自动属性的初始化默认值?

C#/.NET/.NET Core应用程序编程开发中如何为自动属性的初始化默认值?

.NET C# 属性 .NET Core 2.22K 次浏览
0

我们知道,在C# 3.0以及上的版本中新增了自动属性的语法,使用自动属性我们可以更快速简洁地完成属性成员的读/取写法,而不用再多余地为属性成员声明一个私有字段,比如在使用自动属性前是这样的:

public class Customer
{
    private int _id;
    public int Id
    {
        get {return _id;}
        set {_id = value;}
    }
}

而在使用了自动属性之后:

public class Customer
{
    public int Id {get;set;}
}

在使用传统的属性(非自动属性)声明时,如果要初始化属性的默认值,我们可以设置属性成员对应的字段的值,如下:

public class Customer
{
    private int _id = 100;
    public int Id
    {
        get {return _id;}
        set {_id = value;}
    }
}

那么,现在问题来了,使用自动属性如何为这个属性初始化默认值呢?

回复 [×]
提交评论
请输入评论内容

4 个回答

  • 0

    在C# 6.0及以上版本中,微软允许我们可以直接为自动属性初始化默认值,设置方式如下:

    其中=号后面的值即为你需要设置的初始值。

    Rector的个人主页

    Rector

    2020-04-21 回答

    • 0

      如果是在C# 6.0以下的版本中,可以使用构造函数来初始化属性的默认值,如下:

      Rector的个人主页

      Rector

      2020-04-21 回答

      • 0

        设置自动属性的[System.ComponentModel.DefaultValue]属性,并在构造函数中使用反射来初始化自动属性的默认值,示例如下:

        Rector的个人主页

        Rector

        2020-04-21 回答

        • 0

          在自动属性的get中设置默认值,如下:

          Rector的个人主页

          Rector

          2020-04-21 回答

          我来回答