zhcn 编程语言 Golang Go 文件处理 非公開: C# 命名空间:命名空间

C# 命名空间:命名空间

在 C# 中,命名空间可以被视为用于标记命名空间内成员属性的范围。一个命名空间中的类不会与另一命名空间中的同名类冲突,但也不会与同一命名空间中的类冲突。名称必须是唯一的。

举个简单的例子,如果你想在简单的 C# 程序中输出数据,你应该使用System.Console.WriteLine() 。其中System是命名空间,Console是类的名称,WriteLine是类的名称。使用特定的方法。这意味着如果您想访问特定名称空间内的类,您应该使用形式namespacename.classname.funcname() 。当然,你也可以使用 using 关键字来引用所需的命名空间,例如using System 。这允许您直接使用Console.WriteLine()输出指定的数据。

命名空间的结构类似于计算机系统上的目录。一个特定的目录可以被认为是一个命名空间。这个目录可以有几个不同的文件夹,这些文件夹可以认为是命名空间下的命名空间。每个文件夹都包含多个文件和文件夹,这些文件和文件夹可以被视为类的成员。

使用命名空间的优点是可以避免命名冲突并且更容易定位类。

定义命名空间

要在 C# 中定义命名空间,必须使用 namespace 关键字。语法是:

namespace namespaceName{
    // 
}

如果要调用指定命名空间的成员,必须使用namespaceName.className.funcName()形式。以下是使用命名空间的示例。

 namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args)
        {
            First.demoClass demo1 = new First.demoClass();
            Second.demoClass demo2 = new Second.demoClass();
            demo1.sayHello();
            demo2.sayHello();
        }
    }
}

namespace First{
    public class demoClass{
        public void sayHello(){
            System.Console.WriteLine("First 命名空間下 demoClass クラス中の sayHello 関数");
        }
    }
}

namespace Second{
    public class demoClass{
        public void sayHello(){
            System.Console.WriteLine("Second 命名空間下 demoClass クラス中の sayHello 関数");
        }
    }
} 

操作的结果将是:

First 命名空間下 demoClass クラス中の sayHello 関数

Second 命名空間下 demoClass クラス中の sayHello 関数

使用关键词

using 关键字用于引用指定的命名空间。这可以让您告诉编译器其背后的代码应该使用特定的命名空间。例如,如果您需要在程序中使用 System 命名空间,则可以简单地在程序开头使用using System引用该命名空间,如果您使用 System 命名空间下的类,则可以省略System. Console.WriteLine();等我们举个例子:

 using System;
using First;
using Second;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            firstClass first = new firstClass();
            secondClass second = new secondClass();
            first.sayHello();
            second.sayHello();
        }
    }
}

namespace First{
    public class firstClass{
        public void sayHello(){
            System.Console.WriteLine("First namespace");
        }
    }
}

namespace Second{
    public class secondClass{
        public void sayHello(){
            System.Console.WriteLine("Second namespace");
        }
    }
} 

操作的结果将是:

First namespace
Second namespace

命名空间嵌套

命名空间可以嵌套。也就是说,您可以在一个命名空间内定义一个或多个命名空间,如下所示:

namespace namespaceName1{
    // namespaceName1 
    namespace namespaceName2{
        // namespaceName2 
    }
}

您可以使用点.符来访问嵌套的命名空间成员,例如namespaceName1.namespaceName2 。以下示例显示了命名空间的嵌套使用。

 using System;
using First;
using First.Second;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            firstClass first = new firstClass();
            secondClass second = new secondClass();
            first.sayHello();
            second.sayHello();
        }
    }
}

namespace First{
    public class firstClass{
        public void sayHello(){
            System.Console.WriteLine("First namespace");
        }
    }
    namespace Second{
        public class secondClass{
            public void sayHello(){
                System.Console.WriteLine("Second namespace");
            }
        }
    }
} 

操作的结果将是:

First namespace
Second namespace

《C#命名空间:命名空间》通俗易懂的解释!您必须观看的 2 个最佳视频

名前空間について【プログラミング入門】【ゲームの作り方】#25
https://www.youtube.com/watch?v=zBGvSCa4pS8&pp=ygUjQyMg5ZCN5YmN56m66ZaTOiDlkI3liY3nqbrplpMmaGw9SkE%3D
C# Namespace and Classes
https://www.youtube.com/watch?v=8aAcxTDhSJE&pp=ygUjQyMg5ZCN5YmN56m66ZaTOiDlkI3liY3nqbrplpMmaGw9SkE%3D
在 C# 中,命名空间可以被视为用于标记命名空间内成员属性的范围。一个命名空间中的类不会与另一命名空间中的同名类冲突,但也不会与同一命名空间中的类冲突。名称必须是唯一的。

举个简单的例子,如果你想在简单的 C# 程序中输出数据,你应该使用System.Console.WriteLine() 。其中System是命名空间,Console是类的名称,WriteLine是类的名称。使用特定的方法。这意味着如果您想访问特定名称空间内的类,您应该使用形式namespacename.classname.funcname() 。当然,你也可以使用 using 关键字来引用所需的命名空间,例如using System 。这允许您直接使用Console.WriteLine()输出指定的数据。

命名空间的结构类似于计算机系统上的目录。一个特定的目录可以被认为是一个命名空间。这个目录可以有几个不同的文件夹,这些文件夹可以认为是命名空间下的命名空间。每个文件夹都包含多个文件和文件夹,这些文件和文件夹可以被视为类的成员。

使用命名空间的优点是可以避免命名冲突并且更容易定位类。

定义命名空间

要在 C# 中定义命名空间,必须使用 namespace 关键字。语法是:

namespace namespaceName{
    // 
}

如果要调用指定命名空间的成员,必须使用namespaceName.className.funcName()形式。以下是使用命名空间的示例。

 namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args)
        {
            First.demoClass demo1 = new First.demoClass();
            Second.demoClass demo2 = new Second.demoClass();
            demo1.sayHello();
            demo2.sayHello();
        }
    }
}

namespace First{
    public class demoClass{
        public void sayHello(){
            System.Console.WriteLine("First 命名空間下 demoClass クラス中の sayHello 関数");
        }
    }
}

namespace Second{
    public class demoClass{
        public void sayHello(){
            System.Console.WriteLine("Second 命名空間下 demoClass クラス中の sayHello 関数");
        }
    }
} 

操作的结果将是:

First 命名空間下 demoClass クラス中の sayHello 関数

Second 命名空間下 demoClass クラス中の sayHello 関数

使用关键词

using 关键字用于引用指定的命名空间。这可以让您告诉编译器其背后的代码应该使用特定的命名空间。例如,如果您需要在程序中使用 System 命名空间,则可以简单地在程序开头使用using System引用该命名空间,如果您使用 System 命名空间下的类,则可以省略System. Console.WriteLine();等我们举个例子:

 using System;
using First;
using Second;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            firstClass first = new firstClass();
            secondClass second = new secondClass();
            first.sayHello();
            second.sayHello();
        }
    }
}

namespace First{
    public class firstClass{
        public void sayHello(){
            System.Console.WriteLine("First namespace");
        }
    }
}

namespace Second{
    public class secondClass{
        public void sayHello(){
            System.Console.WriteLine("Second namespace");
        }
    }
} 

操作的结果将是:

First namespace
Second namespace

命名空间嵌套

命名空间可以嵌套。也就是说,您可以在一个命名空间内定义一个或多个命名空间,如下所示:

namespace namespaceName1{
    // namespaceName1 
    namespace namespaceName2{
        // namespaceName2 
    }
}

您可以使用点.符来访问嵌套的命名空间成员,例如namespaceName1.namespaceName2 。以下示例显示了命名空间的嵌套使用。

 using System;
using First;
using First.Second;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            firstClass first = new firstClass();
            secondClass second = new secondClass();
            first.sayHello();
            second.sayHello();
        }
    }
}

namespace First{
    public class firstClass{
        public void sayHello(){
            System.Console.WriteLine("First namespace");
        }
    }
    namespace Second{
        public class secondClass{
            public void sayHello(){
                System.Console.WriteLine("Second namespace");
            }
        }
    }
} 

操作的结果将是:

First namespace
Second namespace

《C#命名空间:命名空间》通俗易懂的解释!您必须观看的 2 个最佳视频

名前空間について【プログラミング入門】【ゲームの作り方】#25
https://www.youtube.com/watch?v=zBGvSCa4pS8&pp=ygUjQyMg5ZCN5YmN56m66ZaTOiDlkI3liY3nqbrplpMmaGw9SkE%3D
C# Namespace and Classes
https://www.youtube.com/watch?v=8aAcxTDhSJE&pp=ygUjQyMg5ZCN5YmN56m66ZaTOiDlkI3liY3nqbrplpMmaGw9SkE%3D