c# - 关于 "using"关键字的基本 C#

标签 c# asp.net

本人是C#学习的初学者。

我意识到 using 就像 C# 中的 import

但是后来我遇到过这种情况:

using (con)
{
    con.Open();
    cmd.ExecuteNonQuery();
}

只是好奇这个 using 在这里做什么,没有 using (con) 有什么不同

最佳答案

这种形式的使用(statement,而不是directive)适用于IDisposable接口(interface),回收非托管资源。

非托管资源是诸如数据库连接之类的东西,不能简单地允许垃圾收集器回收它们。相反,它们需要以有序的方式关闭。当 using 代码块超出范围时,将在数据库连接对象上调用 Dispose() 方法,关闭连接并释放资源。

例如,查看 SQLConnection类(class)。请注意,它继承自 DBConnection类,它又实现了 IDisposable 接口(interface)。 SQLConnection 对象 implements the Dispose method ,当作用域离开 using block 时关闭连接。

请注意,您可以 abuse the using statementIDisposable 的乐趣和利润。 ASP.NET MVC 使用using 来关闭HTML 标签!

关于c# - 关于 "using"关键字的基本 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937475/

相关文章:

c# - 获取带有 url 编码斜线的 URL

c# - 如何在 WebClient 中更改 header

c# - ASP.NET 服务器控件模板应该存在于 Visual Studio 2015 社区版中吗?

javascript - 在哪里可以找到 Upshot.js 示例和文档?

c# - 使用嵌套母版页

c# - 从调用进程获取命令行

c# - 有没有一种方法可以通过一个命令更改'n'标签的颜色?

c# - 如何确定正在使用哪个 C# 设置文件

c# - Entity Framework Include() 强类型

c# - 甘特图asp.net