读书人

有点不懂请高手指教!解决方案

发布时间: 2012-03-19 22:03:05 作者: rapoo

有点不懂,请高手指教!
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
呢? 能详细解答一下吗? 谢谢!

[解决办法]
obj.Book = 120
执行了set,也就执行了Console.WriteLine( "aaa "); 同时设置book为120
obj.Book
执行了get,Console.WriteLine( "dsf "); 然后在返回book也就是120

[解决办法]
obj.Book = 120;==> 执行set


Console.WriteLine(obj.Book); 先执行get 然后执行 Write
[解决办法]
obj.Book = 120;对属性赋值就是使用set里面的方法
Console.WriteLine(obj.Book---这个是取出属性值使用了get里面的方法
这个很好解释啊
[解决办法]
cls obj = new cls(); //创建一个cls对象obj
obj.Book = 120; //设置obj的属性book的值为120 这里有两步 (首先执行obj.Book属性(这样楼主应该好理解点C#中的属性实际就是用来给private变量赋值的特殊函数.) 这里就输出了Console.WriteLine( "aaa "); )

Console.WriteLine(obj.Book);
//这里同上 也是两步


[解决办法]
obj.Book = 120
执行了set,也就执行了Console.WriteLine( "aaa "); 同时设置book为120
obj.Book
执行了get,Console.WriteLine( "dsf "); 然后在返回book也就是120

加个断点逐步调适一下就明白了!

读书人网 >asp.net

热点推荐