提问人:Roohallah Azizi 提问时间:11/14/2023 最后编辑:Roohallah Azizi 更新时间:11/14/2023 访问量:42
init 与 get only 属性之间的区别?[复制]
different between init vs get only property? [duplicate]
问:
C# 中的 init 与 get only 属性有什么区别?
样本:
public class person
{
public string Name { get; init; }
public string Family { get; }
}
我试图弄清楚,我知道他们俩都可以让你的财产只读,但我无法弄清楚有什么区别,以及我们什么时候应该选择其中一个而不是另一个。
答:
1赞
scottdavidwalker
11/14/2023
#1
只能在对象初始化期间设置“仅获取”属性。私有集将允许您随时更改该类中的属性。
1赞
beautifulcoder
11/14/2023
#2
不同之处在于,您可以在类中设置 from。while 是只读的,因此只能从构造函数中设置它。Name
Family
例如
var p = new Person("fam");
p.SetName("name");
public class Person
{
public Person(string family) // constructor
{
Family = family;
}
public void SetName(string name)
{
Name = name; // allowed from within
}
public void SetFamily(string family)
{
Family = family; // error
}
public string Name { get; private set; }
public string Family { get; }
}
评论