get set是用来扩展域的,也就是C里的变量,只是用起来更加灵活而己。看以下代码:
using System;
public class cls
{
private int book;//定义一个域(也可以叫变量,只是面向对像里都这么叫,使用起来也更加方便)
public int Book
{
get
{
Console.WriteLine("dsf");
return book;
}
set
{
Console.WriteLine("aaa");
book=value;
}
}
public static void Main()
{
cls obj = new cls();
obj.Book = 120; //注意这一句
Console.WriteLine(obj.Book);
}
}
运行结果为:
aaa
dsf
120
也就是先把120赋值给value(相当一个存储空间),然后再用get{}返回给Book,实际上也就是一次改变变量值的过程。
那你也许会问为什么要这么复杂呢?因为这是用了嵌套,所以可以更加方便的写入其它语句,在以后你就应该学到了。
如果没有:
obj.Book = 120;
请想一想会是什么结果呢?
只是一个取值过程:get{}而没有执行set{}
结果为:
dsf
0
get()取值(把值传出来),set()赋值(接收别人的赋值),里面都可以加条件,
get()取值(把值传出来),set()赋值(接收别人的赋值)
这是默认格式,如果不这么写,
取值,赋值需要你自己写方法
get:只读属性(只读性)
set:设置值(可写性)
一个简单的例子:
.aspx
.cs
Public string Name
{
set {
Name=TxtName.Text;
}
get {
return Name;
}
//相当于把TextBox里面的值赋给变量Name
}