Переполнение стека обычно вызывается вызовом функций вложенности слишком глубоко (особенно просто при использовании рекурсии, то есть функции, которая вызывает себя) или выделения большого объема памяти в стеке, где использование кучи было бы более подходящим.
От ответы Команды C# на часто задаваемые вопросы :
, Когда Вы добавляете ссылки на сборки или используете ключевое слово 'использования', , csc.exe проигнорирует любой блок, который Вы на самом деле не использовали в своем коде ... Не [тратьте впустую] свое время, снимая неиспользованный'
using
' операторы или ссылки на сборки из Вашего приложения. компилятор C# сделает так для Вас автоматически.
можно проверить, что это на самом деле имеет место путем вызова Assembly.GetReferencedAssemblies()
; Вы будете видеть, что что-либо, что не используется, не будет на самом деле включено в список.
основная утилита в снятии неиспользованных -
Существуют некоторые причины производительности разделить вниз using
операторы:
Однако примечание, всеми этими причинами является конкретное время компиляции. Компилятор разделяет неиспользованный using
с автоматически.
Самые большие "издержки" в unusesd использование операторов понимают Ваш код:)
Удаляющие неиспользованные делает Ваш код более опрятным и легче для кого-то еще считать и поддержать.
Редактор кода C# в Visual Studio 2008 имеет функцию для удаления неиспользованный использование операторы.
Щелкают правой кнопкой и выбирают , Организуют Использования |, Удаляют Неиспользованные Использования .