我是C#的新手。我们在一个类中声明私有成员变量,使它们从声明它们的类之外不可访问,但是我们可以简单地声明它们是私有的'那么使用set和使用它们的需要是什么?例如,我有一个班级客户
class Customer
{
private double TotalPurchases; // { get; set; }
private string Name; // { get; set; }
private int CustomerID; // { get; set; }
public Customer(double tp, string nam, int id)
{
TotalPurchases = tp;
Name = nam;
CustomerID = id;
}
public void value()
{
Console.WriteLine("Total purchases so far " + TotalPurchases + " " + Name + " " + CustomerID);
}
}
class Program
{
static void Main()
{
// Intialize a new object.
Customer cust1 = new Customer(20.0, "C#", 10);
cust1.value();
Console.ReadLine();
}
}
当我删除客户类中的评论并允许属性使用set和get时,它完全没有区别!!!
答案 0 :(得分:3)
如果没有get; set;
,则其行为为Field
,而Field
则无法控制何时以及如何分配或检索Field
。
如果存在get set
,您可以根据某些逻辑控制Property中剩余的值。
private string _foo;
public string Foo
{
get
{
if (_foo == null) return string.Empty;
return _foo;
}
set
{
if (value == null) return;
_foo = value;
}
}