說說 C 8 using 新特性

2022-03-05 08:06:27 字數 904 閱讀 5830

在 .net 執行時 gc 會負責清理記憶體,但是我們有時候需要手動清理資源(比如非託管資源不再使用的時候),在以前對於實現了idisposable介面的物件,我們會使用using語句來清理掉。例如如下**:

class

program

console.

writeline

("釋放完畢!");

}}public

class

demo

:idisposable

public

void

write()

// more code

//...........

//...........

//...........

}

上述**執行後會首先輸出 「我被呼叫了」,之後會輸出 「我被using釋放了」,最後輸出 「釋放完畢」。從8.0開始我們可以使用using 宣告來代替using(),這樣**會更簡單明瞭。我們將前面**裡的main方法修改如下:

static

void

main

(string

args)

執行修改後的**,首先輸出我被呼叫了,之後會輸出釋放完畢,最後輸出我被using釋放了。從輸出我們可以看出,dispose()最後才會被呼叫,那麼為什麼會是這樣呢?其實很簡單,是因為清理動作會發生在超出要清理的資源的作用域範圍的時候,也就是離開 main 方法時。

MySQL 8 新特性介紹

原文 what s new in mysql 8.0mysql是眾多 技術棧中的標準配置,是廣受歡迎的開源資料庫,已經推出了8.0的第乙個候選發行版本。mysql 8.0的新特性包括 根據mysql的策略 乙個新的 一般 版本發布的週期是18 24個月 mysql並沒有承諾mysql 8.0的發布日...

JDK8的新特性

這兩天開始看jdk8的新特性,先看了lembda表示式和stream,就乙個感覺,優雅。趕緊將這兩天的成果總結一下 lembda表示式是乙個簡潔 可傳遞的匿名函式,實現了把 塊賦值給乙個變數的功能 格式就是 parameters expression,需要注意的是 引數可以為空 引數為乙個值得時候,...

jdk8的新特性

lambda表示式 格式為 符號左邊為表示式需要的所有引數 符號右邊為表示式要執行的功能 將之前的匿名內部內作為引數傳遞直接可以使用lambda表示式完成 比如lists new arraylist new arraylist stirng public int compare string a,s...