C#中get和set,get是只读,set是只写,是C#对属性的读取和写入
public class Student
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
}
上面的实例就是对私有字段name进行get和set,为什么要用get和set,可以添加条件限制对get和set 的条件
public class Student
{
private string name;
public string Name
{
get
{
return name;
}
set
{
if (value.Length >= 10)
{ throw new Exception("名字长度不能超过10个字符!"); }
else
{ name = value; }
}
}
}
在set里进行了条件判断可以对不符合要求的写入可以进行限制;C#还提供了一种自动属性,利用自动属性可以简化代码,C#编译器会自动加入隐藏的私用字段,如果要用到私用字段的话可以根据要求进行声明
public class Student
{
public string Name
{
get;
set;
}
}
static void Main(string[] args)
{
Student xiaomin = new Student();
xiaomin.Name = "xiaomin";
Console.WriteLine("hello!{0}",xiaomin.Name);
Console.ReadKey();
}
对get和set 还有更深入的意义,如封装性、完整性、安全性。本人也不太理解很深,希望大家多多分享你们的宝贵经验