C# 属性,get,set使用
属性反映了状态,是对字段的自然扩展。
下面的代码,有一个学生类,类中有年龄属性,通过get,set对年龄进行值的获取与设置,同时对年龄进行约束,使值控制在0-120之间,否则抛出异常信息。
namespace _20200324_2 { class Program { static void Main(string[] args) { try { Student stu1 = new Student(); stu1.Age = 20; Student stu2 = new Student(); stu2.Age = 20; Student stu3 = new Student(); stu3.Age = 200; int avgAge = (stu1.Age + stu2.Age + stu3.Age) / 3; Console.WriteLine(avgAge); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); } } class Student { private int age; public int Age { get { return this.age; } set { if (value > 0 && value < 120) //value 为上下文关键字,只在特定范围内为关键字 { this.age = value; } else { throw new Exception("Age value has error!"); } } } } }