C#的using語句
C#的using語句設計的蠻貼心,比java的import有趣一點。轉一篇文章.C#中的using除了作為命名空間指示符(using System),類型的別名指示符(using Dos=System.Console),還有資源管理的語句功能:
using (R r1 = new R ()) {
r1.F();
}
在C#中被翻譯為:
R r1 = new R();
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}
r1當然要支持Dispose()方法了
再來一個例子:
# MyObject.cs
using System;
namespace MyProjects
{
public class MyObject : IDisposable
{
public MyObject()
{
}
public void Dispose ( )
{
// Dispose
Console.WriteLine ( " Disposed " ) ;
//
}
}
}
# Class1.cs
using System;
namespace MyProjects
{
public class Class1
{
public Class1()
{
}
public static void Main ( string [] args )
{
using ( MyObject myObject = new MyObject ( ) )
{
Console.WriteLine ( " quit " ) ;
}
}
}
}
using System;
namespace MyProjects
{
public class MyObject : IDisposable
{
public MyObject()
{
}
public void Dispose ( )
{
// Dispose
Console.WriteLine ( " Disposed " ) ;
//

}
}
}
# Class1.cs
using System;
namespace MyProjects
{
public class Class1
{
public Class1()
{
}
public static void Main ( string [] args )
{
using ( MyObject myObject = new MyObject ( ) )
{
Console.WriteLine ( " quit " ) ;
}
}
}
}
使用using會自動調用MyObject的Dispose方法.
文章轉自莊周夢蝶 ,原文發布時間5.17
最後更新:2017-05-17 11:33:08
上一篇:
數據結構之鏈表
下一篇:
數據脫口秀 | 從小紮到蓋茨,哪位科技大佬最可能黑化為大反派?
iHealth郭陽:要跟參與度極高的小米用戶一起做出好產品
《Hadoop與大數據挖掘》一2.3.1 HDFS常用命令hdfs dfs
HDU1398-Square Coins
.NET設計模式開篇
[服務器] 企業服務器租用有哪些注意事項?
我用JS寫的一段創建TABLE,添加行,模煳匹配,根據CHECKBOX刪除內容,創建標題的代碼(刪除完再添加行有計數器的BUG)
信息惠民新樣板 智慧濰坊新名片
Nodejs進階:Express常用中間件body-parser實現解析
【前沿】TensorFlow Pytorch Keras代碼實現深度學習大神Hinton NIPS2017 Capsule論文
低成本打造一個帶寬無限的網站(三)