📅  最后修改于: 2020-11-01 03:07:42             🧑  作者: Mango
C#自动初始化属性是6.0中引入的功能。它允许我们在不创建构造函数的情况下初始化属性。
现在,我们可以初始化属性以及声明。
在早期版本中,需要构造函数来初始化属性。在下面的示例中使用了一种旧方法。
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
现在,我们不需要创建构造函数。请参见以下示例。
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修饰符来使属性限制更改。请参见以下示例。
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