gin*_*gin 3 c# dispose idisposable using-statement
按标题提问.
我有一段代码可以做到这一点:
using (SqlConnection dbcon = new SqlConnection(connectionString))
using (SqlDataAdapter dataAdapter = new SqlDataAdapter(statement, dbcon))
{
dat_set = new System.Data.DataSet();
dbcon.Open();
dataAdapter.Fill(dat_set, name);
}
Run Code Online (Sandbox Code Playgroud)
当我在dataAdapter仍然填充数据集时强制退出程序时,程序冻结并停止响应.
我知道"使用"块在超出范围时释放资源,但在强制终止的情况下,资源是否优雅地释放?
如果进程退出,则操作系统会清除所有本机资源(网络句柄,文件句柄等).我不希望这个using声明在这里生效 - 我怀疑操作系统会杀死线程太难以让它有机会自己进行清理.这意味着你仍然会完成清理......但是你可能期望在using语句中发生任何冲洗(例如在文件编写方案中)可能不会发生.