C#基础知识详解之【字段与属性】 柔情只为你懂 2022-12-25 02:49 71阅读 0赞 ![format_png][] ![format_png 1][] 讲理论知识之前,先看一段代码: public class Emp { //字段 private int age; //属性 public int Age { get { return age; } set { age = value; } } } 大家可以看到上面实例代码中,声明了一个名为age的字段,还有一个名为Age的**属性**,在C\#中,一般属性名是字段名的首字母大写(字段名为age,属性名为Age),那么有人可能不明白属性到底是什么?有什么作用? **属性(Property)** 是类(class)、结构(structure)和接口(interface)的命名成员。类或结构中的成员变量或方法称为 **字段****(Field)**。属性(Property)是字段(Field)的扩展,且可使用相同的语法来访问。它们使用 **访问器(accessors)** 让私有域的值可被读写或操作。 让我们在回到上面的案例中,假如用户输入一个不符合实际的年龄,例如200,或者-18岁,如果我们不做点处理的话,肯定会造成数据不安全不严谨,那么对于这样的问题,我们需要怎样限制呢? 可以这样: public class Emp { //字段 private int age; //属性 public int Age { get { return age; } set { if(value <= 100 && value>=0){ age = value; }else{ age = 18; } } } } 上面代码的含义就是,如果传入的年龄是0-100之间的数,那么实际年龄即传入年龄,否则实际年龄即是18; 接下来我们看看怎么进行调用属性: static void test() { Emp emp = new Emp(); //赋值: emp.Name = "周树人"; //获取值 string name = emp.Name; Console.WriteLine(name); } 运行结果: 周树人 **一般,如果我们对该字段没有特殊需求进行限制时,我们可以使用这种写法:** public class Emp { //字段 private int age; //属性 public int Age { get { return age; } set { age = value; } } } **参考文章:菜鸟教程** **文章地址:https://www.runoob.com/csharp/csharp-property.html** ![format_png 2][] 欢 迎 关 注 **公众号:雄雄的小课堂** **CSDN:穆雄雄的博客** [format_png]: /images/20221120/cfaa41b12c7c4880a77503c0eefab503.png [format_png 1]: /images/20221120/9c1cd0e87cd543de82a4d8f1df77bf34.png [format_png 2]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9EWjlUaWF4ZFF4azFCMTczUFB4OG1sT0ZpYnF1aWI3czE2b2QzSjc2YTExQkh3dWtoamQ4SWVMSG92TUpKVGZoSUpyenUzU2xwcWxjUXBFVGZnUmlhTXM1VncvNjQw?x-oss-process=image/format,png
还没有评论,来说两句吧...