Visual Studioは、新しいページまたはプロジェクトを作成するたびに、usingステートメントを自動的に作成します。これらのいくつかは、決して使用しません。
Visual Studioには、「未使用の使用を削除する」ための便利な機能があります。
アクセスされないusingステートメントがファイルの先頭に記載されている場合、プログラムのパフォーマンスに悪影響があるのでしょうか。
Visual Studioは、新しいページまたはプロジェクトを作成するたびに、usingステートメントを自動的に作成します。これらのいくつかは、決して使用しません。
Visual Studioには、「未使用の使用を削除する」ための便利な機能があります。
アクセスされないusingステートメントがファイルの先頭に記載されている場合、プログラムのパフォーマンスに悪影響があるのでしょうか。
回答:
未使用の使用は、アプリケーションの実行時パフォーマンスに影響を与えません。
IDEのパフォーマンスと全体的なコンパイル段階に影響を与える可能性があります。名前解決が発生する必要がある追加の名前空間が作成されるためです。ただし、これらはマイナーな傾向があり、ほとんどのシナリオでIDEエクスペリエンスに顕著な影響を与えることはありません。
同じ理由で、デバッガーで式を評価するパフォーマンスにも影響を与える可能性があります。
いいえ、それはコンパイル時/コーディングスタイルのものです。.NETバイナリは、内部では完全修飾名を使用します。
実行速度には影響しませんが、適切なクラスを検索するためのより多くの潜在的な名前空間があるため、コンパイル速度/インテリセンスに若干の影響がある可能性があります。私はそれについてあまり心配しませんが、Organize Usingsメニュー項目を使用して、usingステートメントを削除およびソートできます。
次のリンクは、未使用の参照を削除する理由についての適切な資料で、アプリケーションから未使用の参照を削除することがどのように役立つかを説明しています。
以下は、リンクからの抜粋です。
アプリケーションで未使用の参照を削除することによりCLR
、実行時にが未使用の参照モジュールをロードするのを防ぎます。つまり、各モジュールのロードに時間がかかり、コンパイラーが決して使用されないメタデータをロードするのを回避できるため、アプリケーションの起動時間が短縮されます。各ライブラリのサイズによっては、起動時間が大幅に短縮される場合があります。これは、アプリケーションがロードされると高速になると言っているわけではありませんが、起動時間が短縮される可能性があることを知ることはかなり便利です。
未使用の参照を削除するもう1つの利点は、名前空間との競合のリスクを軽減できることです。たとえば、System.Drawing
との両方System.Web.UI.WebControls
がある場合、Image
クラスを参照しようとすると競合が発生することがあります
。これらの参照に一致するクラスのusingディレクティブを使用している場合、コンパイラーはどのディレクティブを使用するか判断できません。開発時にオートコンプリートを定期的に使用する場合、未使用の名前空間を削除すると、入力時にテキストエディターのオートコンプリート値の数が減ります。