假如:private List<User> _list;
public List<User> UserList
{
get
{
//假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作
return _list;
}
}这里有个方法public List<User> GetList()
{
//其实同上面一样,假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作
return ......;
}问题是:如果我在使用UserList的时候,如UserList[0]....,UserList[1].....,每次使用UserList都会执行一遍fz操作。
但是如果使用方法的话List<User> list=GetList(); 这样以后使用list, fz操作就执行了一次。
访问器有没有办法也只让fz操作只执行一次?我是真的糊涂了。
public List<User> UserList
{
get
{
//假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作
return _list;
}
}这里有个方法public List<User> GetList()
{
//其实同上面一样,假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作
return ......;
}问题是:如果我在使用UserList的时候,如UserList[0]....,UserList[1].....,每次使用UserList都会执行一遍fz操作。
但是如果使用方法的话List<User> list=GetList(); 这样以后使用list, fz操作就执行了一次。
访问器有没有办法也只让fz操作只执行一次?我是真的糊涂了。
public List<User> UserList
{
get
{
//假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作
return _list;
}
}
把“//假设这里有一堆代码,查询数据库,各种操作,各种处理,简称fz操作”去掉,这些操作你可以放到构造函数中
eg:
public Int32 N
{
set
{
n = value;
}
get
{
return value;
}
}
没有你那么多fz等操作。