C#中的using语句和指令有什么区别?

这基本上是一个教程问题,因为我是初学者我想在我们的C#代码开头使用的using语句与包含程序集和命名空间之间有什么区别

像这样:

using System.Web.Services; 

当我们在方法或代码中编写代码时。 像这样:

 using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) 

是否有任何差异或两者都相同,任何指导都会有所帮助和赞赏。

第一个(使用指令)是将命名空间纳入范围。

这是例如,所以你可以写

 StringBuilder MyStringBuilder = new StringBuilder(); 

而不是

 System.Text.StringBuilder MyStringBuilder = new System.Text.StringBuilder(); 

第二个(Using Statement)用于正确使用(创建和部署)实现IDisposable接口的对象。

例如:

 using (Font font1 = new Font("Arial", 10.0f)) { byte charset = font1.GdiCharSet; } 

这里, Font类型实现了IDisposable因为当我们不再使用Font实例( font1 )时,它使用需要正确处理的 非托管资源 。

using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))

一旦控件离开使用块,这将使用自动配置适配器对象。

这相当于通话

 SqlDataAdapter adapter = new SqlDataAdapter(cmd) adapter.dispose(); 

请参阅官方文档: http : //msdn.microsoft.com/en-us/library/yh598w02(v = vs.71).aspx

它们和你能得到的差别一样。

第一个显示了在命名空间中使用东西的意图。

第二个是对一次性物体的引用并确保它被处置,无论发生什么(如实施try / finally)

第一个允许您使用未在代码中定义的类型(告诉编译器在哪里可以找到它需要引用的代码.REF: http : //msdn.microsoft.com/en-us/library/sf0df423(v = VS.100)的.aspx

第二次使用确保在代码块结束时释放内存,或者在exception的情况下释放内存。 参考: http : //msdn.microsoft.com/en-us/library/yh598w02.aspx

请参阅上面的链接,了解每个链接的详细文档。

我相信有人会花很多时间来回答相当于谷歌搜索的内容,但这里有几个链接可以让你入门。

using语句(C#Reference)确保即使在对象上调用方法时发生exception,也会调用Dispose。

允许在命名空间中使用类型,以便您不必使用Directive(C#Reference)限定在该命名空间中使用类型。

您可能会发现MSDN是一个很好的资源,可以花一些时间浏览。