1

私はあなたができることを見てきました

using System.IO

と使用

Path.GetDirectoryName(blah blah)

または直接使用

System.IO.Path.GetDirectoryName(blah blah);

パフォーマンスの点でそれらの間に違いはありますか?

using System.IO名前空間内のすべての静的クラスをメモリにロードすると、より多くのメモリが使用されますか、それともフレームワークはそれを回避するのに十分なほどインテリジェントですか? はいの場合、どのように?

それとも、これはすべて、名前空間にまたがるオブジェクト間の名前の衝突を避けるために使用されているのでしょうか?

どんな洞察も大歓迎です:)

4

2 に答える 2

6

いいえ、同じ IL にコンパイルされます。これは純粋にソース コードの問題です。一般に、完全修飾名よりも短い名前を使用した方が読みやすくなります。

コンパイル結果はどちらの方法でも同じになります。

于 2010-07-22T17:40:49.333 に答える
3

IL を見ると、2 つの方法に違いはありません。すべてのクラス名は完全修飾されています。静的クラスは、クラスが最初に使用されるときにのみロードされます。したがって、どちらの方法も最終的なコードでは同等です。

usingさらに、宣言をブラウズして、クラスの外部の観点からクラスが何を行っているか (たとえば、クラスが I/O を実行しているか、XML を生成しているか) を確認すると、はるかに役立つことがわかりました。これは、常に完全修飾クラス名を宣言するのとは対照的です。

于 2010-07-22T17:43:08.780 に答える