6

名前空間全体をインポートする場合と、エイリアシングを使用して 1 つのクラスのみをインポートする場合とでは、パフォーマンスに違いはありますか? もしそうなら、それはどのくらいの違いですか?


例:

名前空間全体のインポート:

using System.Reflection;

1 つのクラスのみをインポートするためのエイリアス:

using BindingFlags = System.Reflection.BindingFlags;
4

4 に答える 4

12

ゼロ。名前空間のインポートはコンパイル時の機能であり、生成される IL はどちらの方法でもまったく同じになります。

于 2012-07-09T19:02:07.237 に答える
5

いいえ、これはプログラマーの助けになるだけです。コンパイラーによって生成される CIL はまったく同じです。

于 2012-07-09T19:01:53.073 に答える
3

性能差はありません。「クラス名を指定するときにここを見てください。ここにあるかもしれません」と言う人もいます。もう1つは、「このクラスまたは名前空間と言うとき、これを使用することを意味します」と言います。

于 2012-07-09T19:02:01.427 に答える
-1

いいえ、さらに広いです。.net コアを含む dll をロードすると、多数の名前空間が含まれます。すでにロードされている dll の外に出ない限り、名前空間をインポートしても問題はありません。

于 2012-07-09T19:07:57.153 に答える