3

c# で他のシステム名前空間を追加したい場合、なぜ各名前空間を呼び出す必要があるのですか?

たとえば、System.Text 名前空間を呼び出したい場合は、次を使用する必要があります。

using System;
using System.Text;
  • システムを使用して使用できないのはなぜですか?
  • System.Text を使用して呼び出す必要があるのはなぜですか?
  • System を使用するだけですべての System 名前空間を使用できないのはなぜですか?
  • すべての名前空間にSystemを使用する理由と、 systemの意味 は?
4

6 に答える 6

3

System 名前空間は、System の下に直接あるファイルのみを参照します。すべての System.* 名前空間が自動的に含まれるわけではありません。これらはすべてのクラスで必要とされない特殊な名前空間であるため、これは意図的なものです。たとえば、すべてのプロジェクトが自動的に System.Web 名前空間を必要とするわけではありません。

于 2013-10-25T12:16:25.543 に答える
3

あなたは実際にちょうど必要です

using System.Text;

System.Text名前空間のみを使用する場合。

System名前空間内には、さまざまなタイプがありますSystem.DateTimeSystem.TextはありませんSystemが、別の名前空間です。

この混乱は、名前空間の各「レベル」に型があるために発生します。これは、 egSystem.DateTimeSystem.Text両方が in にあるように見えることを意味しますがSystem、実際には前者は in の型でSystemあり、後者は完全に異なる名前空間です。

于 2013-10-25T12:15:46.820 に答える
1

少し役立つかもしれない視覚的な例を次に示します。

基本的に、名前空間 .System から名前空間 .Text にアクセスすることはできません。これは、.Text 名前空間に含まれるメソッドが .System 名前空間に存在しないためです。

namespace OuterNamespace
{
    public class DoStuff
    {
        public DoStuff()
        {
            //This DoStuff is different...
        }
    }
    namespace InnerNamespace
    {
        public class DoStuff
        {
            public DoStuff()
            {
                //than this DoStuff.
            }
        }
    }
}

public class Test
{
    public Test()
    {
        //This "DoStuff" class
        OuterNamespace.DoStuff outerStuff = new OuterNamespace.DoStuff();

        //Is different than this "DoStuff" class
        OuterNamespace.InnerNamespace.DoStuff innerStuff = new OuterNamespace.InnerNamespace.DoStuff();
    }
}
于 2013-10-25T12:29:28.640 に答える
0

System と System.Text は 2 つの異なる名前空間であるため、両方を参照する必要がありました。

名前System空間には、一般的に使用される値と参照データ型、イベントとイベント ハンドラー、インターフェイス、属性、および処理例外を定義する基本クラスと基本クラスが含まれます。

名前System.Text空間には、文字エンコーディングと文字列操作の型が含まれています。子名前空間を使用すると、正規表現を使用してテキストを処理できます。

命名スタイルについて混乱している場合は、関連する型を明確に分離し、反復しやすい Microsoft の命名規則に固執します。Systemこれにより、1 つの名前空間内にすべての CLR 型を一覧表示するよりも、段階的な型の反復が行われます。

名前空間の詳細

于 2013-10-25T12:30:57.380 に答える
0

それらは異なる名前空間だからです。

于 2013-10-25T12:14:11.117 に答える
0

この記事では、名前空間の使用方法について説明します。特に、完全修飾名に関する例は興味深いかもしれません。

于 2013-10-25T12:17:37.947 に答える