С Настройками:
Попытка схема клавиатуры Emacs на опциях Environment.
Плагины:
я только видел этого: VisEmacs, это интегрирует Emacs как текстовый редактор по умолчанию для Visual Studio.
Первый сниппет вызывает Dispose
в конце блока - вы можете делать это только с типами, которые реализуют IDisposable
, и в основном он вызывает Удалите
в блоке finally, чтобы вы могли использовать его с типами, которые нуждаются в очистке ресурсов, например
using (TextReader reader = File.OpenText("test.txt"))
{
// Use reader to read the file
}
// reader will be disposed, so file handle released
. Обратите внимание, что это не заставляет сборку мусора каким-либо образом, формой или формой. Сборка мусора и очистка ресурсов подсказки в некоторой степени ортогональны.
В принципе, вы должны использовать оператор using
практически для всего, что реализует IDisposable
и который будет использоваться вашим блоком кода. взять на себя ответственность (в плане очистки).
В конце использования
объект удаляется (объект, который вы помещаете в круглые скобки, должен реализовывать IDisposable). Объект удаляется также в исключительных случаях. И вам не нужно ждать, пока сборщик мусора сделает это в какое-то время (вы контролируете это).
РЕДАКТИРОВАТЬ: Недостатком области видимости является:
См. документацию по IDisposable и определяемому освобождению ресурсов.
Проще говоря, в конце блока using {}
вы можете надежно удалить выделенные ресурсы (например, закрыть дескрипторы файлов, соединения с базой данных и т. Д.)
с использованием
просто требует реализации интерфейса IDisposable и вызывает метод Dispose в конце области.
Для множества яростных споров о правильном размещении предметов существует множество других тем.
Просто чтобы буквально показать разницу ...
using (FileStream fileStream = new FileStream("log.txt", FileMode.OpenCreate))
{
//stuff with file stream
}
то же самое, что ...
{
FileStream fileStream = new FileStream("log.txt", FileMode.OpenCreate);
try
{
//stuff with filestream
}
finally
{
if (fileStream != null)
((IDisposable)fileStream).Dispose();
}
}
где as
{
FileStream fileStream = new FileStream("log.txt", FileMode.OpenCreate);
fileStream.Dispose();
}
как есть.