為何需要用到using或者在別人的代碼中看到using,你會不會也有這個疑問呢? 在使用using時需要注意的是,using只能用於實現IDisposable介面的類. Common language runtime 的垃圾收集行程會回收 managed 物件所使用的記憶體,但使用非受控資源的類型 IDisposable 會執行介面,以允許回收這些非受控資源所需的資源。 實作 IDisposable 的物件使用完畢時,您應呼叫物件的 IDisposable.Dispose 實作。 您可以使用下列其中一種作法: 使用 c # using 語句 (Using Visual Basic) 。 藉由執行 try/finally 區塊,並 IDisposable.Dispose 在中呼叫 finally 。 提供方便的語法,以確保正確使用 IDisposable 物件。 從 c # 8.0 開始, using 語句可確保正確使用 IAsyncDisposable 物件。 IDisposable⇒提供用於釋放 Unmanaged 資源的機制。 IAsyncDisposable ⇒提供用於非同步釋放非受控資源的機制。 範例(資料庫連接與釋放) 錯誤作法: 正確作法: 優化作法: 使用實作 IDisposable 的物件 類別會執行