C#.NET 使用 block

标签 c# using-statement

我想在我的 DAL 层中使用“using” block 。喜欢

using (SqlConnection con = new SqlConnection("connection string"))
{
     Command object
     Reader object
}

由于 SqlConnection 对象在 using block 中初始化,我知道当控件退出 using block 作用域时,该连接对象将被自动释放。

但是我在 using block 中创建了 Command 和 Reader 对象。我必须明确关闭它们还是必须为它们编写另一个“使用” block 。

最佳答案

您也应该对 Command 和 Reader 使用 using,或者明确关闭它们。

我通常这样编码:

var sql = "SELECT * FROM table";
using (var cn = new SqlConnection(connectionString))
using (var cmd = new SqlCommand(sql, cn)) {
}

这限制了标识的数量。

关于C#.NET 使用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4487743/

相关文章:

c# - @Html.RadioButtonFor 默认为未选中

c# - 如何从C#控制台应用程序中的参数播放5.1声音文件?

python - python中的导入语句困惑

c# - 为什么 C# 不允许将 using 变量作为 ref 或 out 传递给函数

c# - 指定的参数太多

c# - 我是否使用 GMFBridge.DLL 来正确预览/捕获流?

c# - 带有电子邮件地址参数的 WebApi 方法从 HttpClient 返回 404

c# - 如果我在使用语句结束之前调用 Dispose() 会发生什么?

c++ - 模板构造函数继承的标准符合语法是什么?

c# - 带有异步调用的 Using 语句 |取消操作?