1

多くの C# プログラムで、人々は次のような膨大なリストを作成していることに気付きました。

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml.Linq;
using System.Xml.XPath;
using System.Net;
using System.Web;

このようなことをする利点は何ですか?つまり、一部の関数を簡略化できることを知っているので、「System.Xml.XPath.XElement.Parse()」の代わりに「XElement.Parse()」を配置できます。しかし、他にどのような利点がありますか?ショートハンド以外に何か利点はありますか?

デメリットはありますか?

4

4 に答える 4

3

コードを読みやすくする以外に考えられる唯一のことは、次のとおりです。

using Num = System.Numerics.BigInteger;

異なる名前空間の特定のクラスに短いカスタム名を付けます。異なる名前空間にある同じ名前のクラス間の混乱を避けるのにも役立ちます。

于 2012-04-21T02:46:01.403 に答える
2

あなたが言及したように、それは本当に単なる「速記」です。あなたが与える例:

System.Xml.XPath.XElement

それを見事に示しています。と対話しようとしていXElementます。それで全部です。完全修飾リファレンスの残りは単なるノイズです。コード全体で何度もそれを書く理由はありません。

これは、コンパイラの構造的な足場とは対照的に、ロジックの意味のある部分に焦点を当てた、よりクリーンで簡潔で表現力豊かなコードを記述するための手段にすぎません。

于 2012-04-21T02:43:44.867 に答える
1

名前空間の考え方は、型を修飾することであり、これはそのための便利な方法を提供します。ファイルの先頭に usings を含めることの利点は省略形であり、通常はより読みやすいコードに変換されます。ただし、2 つの名前空間の型が衝突すると、名前空間が衝突する可能性があるという欠点があります。その場合は、代わりにエイリアスの作成を検討できます。

于 2012-04-21T02:40:32.997 に答える
0

using ステートメントは、名前空間メンバーへの簡単なアクセスを提供するだけでなく、このコードが何を使用しているかについてのスニーク ピークを提供します。通常、新しいファイルを見ているときは、含まれているものに基づいて、特定の API をショートハンド メモリにキューに入れます。(ずさんなプログラマーを扱う場合、これは常に機能するとは限りません。)

于 2012-04-21T02:45:42.663 に答える