C#程序释放资源的问题?谢谢!
一个检测用户名是否存在的函数,代码大致如下:
protected bool NameTest(string name)
{
SqlConnection conn = ……;//连接
SqlCommand cmd = ……;//command命令实例
cmd.CommandType = ……;//类型为存储过程
SqlParameter p = ……;//参数
cmd.Parameters.Add(p);//添加参数
conn.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());//返回记录数
if (count > 0)
{
return true;
}
else
{
return false;
}
conn.Close();
//获取记录数后释放资源
cmd.Dispose();
conn.Dispose();
}
提交注册,代码大致如下:
protected void Button1_Click(object sender, EventArgs e)
{
//代码略,在此代码块中,因为有需要,示情况会调用NameTest()函数2至3次
}
我对程序运行原理懂得很少,请问在NameTest()函数代码块中,要不要给cmd和conn两个对象释放资源,我想如果该函数只
被调用一次的话,理所当然要释放,但实际应用中,仅仅提交注册这个动作瞬间就要调用2-3次,这种情况,是不是不释放更好,
因为释放资源又重新分配,如此反复几次反而更浪费时间和资源,对吗?
但这只是我在想像中的猜测,还望高手们给个明确的解释,谢谢!祝新年快乐!