处置和关闭有啥区别? [复制]
Posted
技术标签:
【中文标题】处置和关闭有啥区别? [复制]【英文标题】:What is the difference between Dispose and Close? [duplicate]处置和关闭有什么区别? [复制] 【发布时间】:2011-03-14 02:39:59 【问题描述】:可能重复:Close and Dispose - which to call?
嗨,
看了一些网页,还是不明白C#中Dispose和Close方法的区别。
我们来取样:
using (SqlConnection sqlConnection = new SqlConnection())
// Execute an insert statement (no breaks, exceptions, returns, etc.)
还有第二个:
SqlConnection sqlConnection = new SqlConnection();
// Execute an insert statement (no breaks, exceptions, returns, etc.)
sqlConnection.Close();
这两段代码相似吗?两者都只是为了方便而提供(因为在某些情况下using
不是解决方案?或者行为有所不同?
那么为什么有些类提供Close
方法,我什么时候应该在我创建的IDisposable
类中放置Close
方法?
【问题讨论】:
重复***.com/questions/61092/… 感谢您注意它是重复的。我发帖前搜索了一下,没有找到。我要结束这个问题了。 【参考方案1】:你的两个代码 sn-ps 是等价的。
实现IDisposable
并公开Close
的.NET 类,这样做是为了增加方便,因为Close
方法的名称稍微友好一些。通常一个人打电话给另一个人。
如果您实现自己的一次性类,则不需要添加Close
方法,除非您喜欢拥有一个。
【讨论】:
这几乎是正确的。Dispose
和 Close
是相同的除了对于数据库连接类。以上是关于处置和关闭有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章