asp.net网站中的数据操作方法有没有必要用static修饰?到底什么时候用static关键字?
比如我要定义一个插入一条数据的方法InsInfo(string name,sting pwd)
是要定义成
(1)
public class InfoAction
{
//之所以定义int ,插入成功返回1,失败返回0
public int InsInfo(string name,sting pwd)
{}
}还是
(2)
public class InfoAction
{
public static int InsInfo(string name,sting pwd)
{}
}如果用(1)方法,每次用的都要用InfoAction aaa=new InfoAction()
这样要new大量的对象,是不是很占内存?
比如我要定义一个插入一条数据的方法InsInfo(string name,sting pwd)
是要定义成
(1)
public class InfoAction
{
//之所以定义int ,插入成功返回1,失败返回0
public int InsInfo(string name,sting pwd)
{}
}还是
(2)
public class InfoAction
{
public static int InsInfo(string name,sting pwd)
{}
}如果用(1)方法,每次用的都要用InfoAction aaa=new InfoAction()
这样要new大量的对象,是不是很占内存?
解决方案 »
- 动易.net版的 sitefactory中 xslt在服务器上无法解析的问题
- 求关于DetailsView不能重复注册的问题
- 如何在一个类的方法中获得这个类的名字?
- SQL SERVER:如何向某个已存在的“表变量”中再添加一个列啊?
- 水晶报表的问题?
- 关于LinkButton?和Button控件的区别?
- ASP.NET怎么连Access2000数据库?
- 急需求助
- 怎样将图片内容写入数据库
- DATAGRID数据绑定问题?
- treeview 展开某一节点,关闭其兄弟节点(并记住其状态,如CHECKBOX选中),在MS TREEVIEW 里修改HTC源码实现,怎么修改啊
- StringBuilder 怎么什么都没有输出??
InfoAction aaa=new InfoAction()
可网站没点几次就"内存不能为writen"了
(2)
public class InfoAction
{
public static int InsInfo(string name,sting pwd)
{}
}
==============
选择方法二吧。
个人理解:一般情况下,如果你声明的对象一成不变,例如,string str=System.configuration.configurationsettings.appsettings["conn"];
取得web.config中连接数据库的信息,那么你就可以声明为static,因为这个对象是不变的。1. 通用方法和通用变量一般应该声明为static ;
2. 频繁使用的资源;
比如说student类,学生肯定是学习的,你学习,他学习,所以学习对于整个student类的所有对象来讲都是一样的,所以就可以把学习写成static了,当然如果要比较学生学习好坏程度的话,所有的学生肯定是不一样的,所以学习好坏的话就不能用static了。
static就是静态的意思,也就是不随着对象的改变而改变。
比如:
public datatable GetMyinfo(string myid)
{
datatable dt=new datatable();
//...取得查询的结果,是一个数据表
return dt;
}上面的操作是根据myid的不同,返回得到的dt也肯定不同,那上面的GetMyinfo(string myid)
是不是要用static来修饰?
在网站中是不是要写成这样:
public static datatable GetMyinfo(string myid)
{
datatable dt=new datatable();
//...取得查询的结果,是一个数据表
return dt;
}???
注:上面的方法是在一个class中,属于dal.cs