在c#中 自定义属性 有 {get; set} 和没有{get; set} 的区别

变量:

1.存在的意义:当我们需要一个变量用来存值时需要用到它。这个变量就是个值

2.大概的外形:public int age;

属性: 

1.存在的意义:当我们需要一个类,那这个类里的属性就需要用到它。

   一个类可以实例化很多个对象,每个对象都可以使用这个属性且可以是不同值

2.大概的外形:

private int _name;  //必须声明私有变量
public int Name   //定义属性 Name
{
  get{ return _name;}
  set{ _name = value;}

可以看出来,属性的定义需要字段的帮助,

这么帮助目的是为了在set方法里做一些限定,比如值得大小范围限定。

当然,如果没有属性上的限定可以使用“自动属性”,

形如 public int Name{get; set} ,其中get和set至少有一个,分别代表,取值和赋值

原文地址:https://www.cnblogs.com/HansZimmer/p/10393739.html