C# 变量声明中的{get;set;}
我在一本书中发现了这种声明变量的方法:C# 变量声明中的{get;set;},c#,C#,我在一本书中发现了这种声明变量的方法: class JerseyNumber { public string Player { get; private set; } public int YearRetired { get; private set; } string JerseyNumber(string player, int numberRetired) { Player = player; YearRetired = n
class JerseyNumber
{
public string Player { get; private set; }
public int YearRetired { get; private set; }
string JerseyNumber(string player, int numberRetired)
{
Player = player;
YearRetired = numberRetired;
}
}
如果我删除代码,会发生什么变化:
{ get; private set; }
如果我删除代码,会发生什么变化:
{ get; private set; }
然后你会把它变成一个字段而不是一个属性。你会失去你的私有setter,因此玩家的值可以从类外更改。例如,同样的事情也适用于YearRetired属性
如果我删除代码,会发生什么变化:
{ get; private set; }
然后,您将使其成为一个字段而不是一个属性。并且您将丢失您的私有setter,因此可以从类外更改播放器的值。例如,通过删除{get;private set;}您将不再使用自动属性,这同样适用于YearRetired属性。然后需要提供返回和设置这些值的代码
private string _player = "";
public string Player
{
get { return _player; }
set { Player = value; }
}
通过删除{get;private set;},您将不再使用自动属性。然后需要提供返回和设置这些值的代码
private string _player = "";
public string Player
{
get { return _player; }
set { Player = value; }
}
+1.请注意,这两种更改都不是好的做法,因为通常最好选择属性而不是字段,如果可能的话,最好选择不可变对象而不是可变对象。+1。请注意,这两种更改都不是好的做法,因为通常最好选择属性而不是字段,如果可能的话,最好选择不可变对象而不是可变对象。另外: