📜  C#6.0自动初始化属性

📅  最后修改于: 2020-11-01 03:07:42             🧑  作者: Mango

C#自动初始化属性

C#自动初始化属性是6.0中引入的功能。它允许我们在不创建构造函数的情况下初始化属性。

现在,我们可以初始化属性以及声明。

在早期版本中,需要构造函数来初始化属性。在下面的示例中使用了一种旧方法。

没有自动初始化属性的C#示例

using System;
namespace CSharpFeatures
{
    public class PropertyInitializer
    {
        public string Name { get; set; }
        PropertyInitializer()
        {
            Name = "Rahul Kumar";
        }
        public static void Main(string[] args)
        {
            PropertyInitializer pin = new PropertyInitializer();
            Console.WriteLine(pin.Name);
        }
    }
}

输出量

Rahul Kumar

现在,我们不需要创建构造函数。请参见以下示例。

具有自动初始化属性的C#示例

using System;
namespace CSharpFeatures
{
    public class PropertyInitializer
    {
        public string Name { get; set; } = "Rahul Kumar";
        public static void Main(string[] args)
        {
            PropertyInitializer pin = new PropertyInitializer();
            Console.WriteLine(pin.Name);
        }
    }
}

输出量

Rahul Kumar

我们可以通过设置private修饰符来使属性限制更改。请参见以下示例。

具有自动初始化属性的C#示例

using System;
namespace CSharpFeatures
{
    class Student
    {
        // Auto-property initializer
        public string Name { get; private set; } = "Rahul Kumar";
    }
    public class PropertyInitializer
    {
        public static void Main(string[] args)
        {
            Student student = new Student();
            Console.WriteLine(student.Name);
        }
    }
}

输出量

Rahul Kumar