Почему «использование» улучшает производительность C#C#

Место общения программистов C#
Ответить
Anonymous
 Почему «использование» улучшает производительность C#

Сообщение Anonymous »

Похоже, что в большинстве случаев компилятор C# может вызывать Dispose() автоматически. Как и в большинстве случаев, шаблон using выглядит так:

Код: Выделить всё

public void SomeMethod()
{
...

using (var foo = new Foo())
{
...
}

// Foo isn't use after here (obviously).
...
}
Поскольку foo не используется (это очень простое обнаружение) и поскольку он не предоставляется в качестве аргумента другому методу (это предположение применимо ко многим вариантов использования и может быть расширен), компилятор может автоматически и немедленно вызвать Dispose(), причем разработчик не требует этого.

Это означает, что в большинстве случаев использование совершенно бесполезно, если компилятор выполняет какую-то умную работу. IDisposable кажется мне низким уровнем достаточно, чтобы его учитывал компилятор.

Почему же этого не делается? Разве это не улучшит производительность (если разработчики... грязные).

Подробнее здесь: https://stackoverflow.com/questions/306 ... rformances
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»