5

using System;私のプロジェクトで一連の POCO を開発していますが、そのうちのいくつかは句を必要としないことに気付きました。

using <module>;オブジェクトやプロジェクトを未使用のままにしておくと、パフォーマンスやサイズにペナルティはありますか?

これが原因で、クラスが大きくなったり、遅くなったり、肥大化したりすることはありますか?それとも、コンパイラ/オプティマイザはこれを処理するのに十分スマートですか?

4

8 に答える 8

5

動作問題ありません。

それは単なる読みやすさの問題です(それらを削除することをお勧めします)

詳細: ディレクティブを使用して不要な C# を削除する必要があるのはなぜですか?

于 2012-01-11T17:53:22.913 に答える
1

すべての「システムの使用」。ステートメントでは、完全修飾名なしでその名前空間を使用できます。実行時のパフォーマンスにはまったく影響しません。

于 2012-01-11T17:54:34.003 に答える
1

usingコードに未使用のステートメントが含まれていても、実行時のパフォーマンスが低下することはありません。それらは、コンパイルされた DLL としては表示されません (PDB には存在します)。

ただし、それらが無効であることがわかっている場合は、通常、それらを削除するのが良いスタイルと見なされます。使用されていない using を持つことは、基本的に、コードが一連の型と拡張メソッドに誤って依存していることを示しています。

どの usings が使用されていないかを判断するのは、面倒なプロセスです。のようなツールをインストールしてPowerCommands、ファイルの保存時に作業させるのが最善だと思います。

于 2012-01-11T17:54:46.807 に答える
0

それはパフォーマンスの向上もヒットももたらしません。

未使用のものはすべて削除し、使用済みのすべての使用法をコード スタイル (整頓) として並べ替えます。これは、Visual Studio のコンテキスト メニューから実行できます (ホットキーにバインドしました)。

于 2012-01-11T17:54:33.833 に答える
0

System.Linq を使用するなど、参照/アセンブリまたは拡張機能を使用していない場合。デフォルトでVS2010プロジェクトに追加されます..使用しない場合..削除するだけです..パフォーマンスの問題はありません

于 2012-01-11T17:55:02.127 に答える
0

コンパイラの出力やコンパイルされたプログラムのパフォーマンスにはまったく影響しません。

個人的な好みの一部として削除できます。コンパイルが高速になり (コンパイラがルックアップする名前空間が少なくなる)、インテリセンスのパフォーマンスも向上するので、個人的にはお勧めします。

于 2012-01-11T18:02:39.020 に答える
0

using ディレクティブは単なるシンタックス シュガーです。

参照を使用して追加しても、コンパイル時間のわずかな違い以外はパフォーマンスに影響しません。

于 2012-01-11T17:56:12.637 に答える