C# 中的命名空间

WBOY
发布: 2024-09-03 15:03:00
原创
926 人浏览过

在 C# 中,命名空间用于组织许多类,以便非常轻松地处理应用程序。这有助于将一组名称与另一组名称分开。一个命名空间中声明的类名不能与另一个命名空间中声明的相同类名发生冲突。它允许使用组中的分层系统系统地组织代码。分层系统可用于定义嵌套名称空间。您可以通过将代码放置在不同的命名空间中来使代码保持井井有条。

命名空间是一个描述性区域,其中标识符(类型名称、功能、变量等)被赋予一个范围。命名空间用于将代码排列成逻辑组并防止名称冲突,特别是当您的代码库中包含各种库时。

在 C# 中,根命名空间被视为全局命名空间。 global::System 定义了.Net Framework 的命名空间“System”。 System.console 可以在 C# 程序中使用。 System可以被定义为命名空间,而Console可以被视为一个类。默认情况下,.NET Framework 提供了大量的命名空间来轻松实现应用程序。

命名空间概述

命名空间有一些属性如下:

  • 命名空间用于组织更大的代码项目。
  • 命名空间使用点 (.) 运算符分隔。
  • 在C#中,类的全名以其命名空间名称开头,后跟点运算符和类名称,称为类的完全限定名称。
  • 指令“using”消除了为每个类指定命名空间名称的要求。
  • 在一个命名空间中,声明的类名不会与另一命名空间中声明的相同类名冲突。
  • 全局命名空间是根命名空间,global::System指的是.NET系统命名空间。

为什么 C# 中需要命名空间?

  • C# 程序中的命名空间有助于组织您的程序。这些命名空间还有助于避免两组代码中名称类之间的冲突。
  • 如果您想重用某些代码,那么在您自己的代码中实现命名空间是一个很好的做法。文件或目录名称与命名空间不对应。如果这些与命名空间相对应,您可以这样做来组织代码。
  • 命名空间在编写更简洁的代码和管理更大的项目方面发挥着至关重要的作用。
  • 在c#中使用命名空间的主要目的是减少.NET应用程序中的代码冗余。简而言之,命名空间是一组类,而类是对象和方法的集合。您只需使用命名空间并在应用程序中导入命名空间即可轻松访问所有类方法。拥有命名空间使您能够管理类的范围和方法。如果没有命名空间,则无法使用多个同名的类。

如何在 C# 中定义命名空间?

命名空间可以通过使用关键字namespace后跟namespace_name来定义。以下语法描述了如何在 C# 编程语言中定义命名空间:

namespace namespace_name {
// body of namespace
}
登录后复制

示例:

namespace my_program_demo
{
class demo
{
public void myfunction()
{
// your code declarations
}
}
}
登录后复制

在上面的代码片段中,my_program_demo是一个命名空间,它包含一个类demo作为其成员,myfunction()是demo类的一个方法。

如何在 C# 中访问命名空间?

命名空间的类可以通过使用关键字来访问,该关键字指定程序在给定命名空间中使用的名称。此关键字提供对要在 .NET 应用程序中使用的相关类和方法的访问。 using 关键字允许使用类而无需定义命名空间。

在c#中,您还可以使用点运算符访问命名空间的成员。 (命名空间_名称.成员_名称)

示例:

using System;
namespace Demo {
class DemoExample {
static void Main(string[] args) {
Console.WriteLine("Welcome to C# namespace...");
Console.ReadKey();
}
}
}
登录后复制

执行程序的步骤:

  • 使用命令行而不是Visual Studio IDE编译C#程序,如下所示:
  • 打开文本编辑器,包含上述代码并将文件另存为 DemoExample.cs
  • 打开命令提示符并进入文件保存的目录。
  • 输入 csc DemoExample.cs 并按 Enter 编译代码。
  • 进入该目录,您将看到DemoExample.exe可执行文件。
  • 输入 DemoExample 来执行程序,输出将显示在屏幕上。

示例:

using 关键字: 下面的示例指定了 using 关键字的用法。

using System;
using first_demo;
using second_demo;
namespace first_demo {
class myclass {
public void func1() {
Console.WriteLine("Helloworld.....");
}
}
}
namespace second_demo {
class myclass1 {
public void func2() {
Console.WriteLine("Welcome to EDUCBA.....");
}
}
}
class DemoClass {
static void Main(string[] args) {
myclass cls = new myclass();
myclass1 cls1 = new myclass1();
cls.func1();
cls1.func2();
Console.ReadKey();
}
}
登录后复制

编译并执行上面的代码,你将得到如下图所示的结果。

嵌套命名空间:创建嵌套命名空间的语法如下

namespace NamespaceDemo
{
namespace NestedNamespace
{
// code for nested namespace
}
}
登录后复制

The below example shows usage of nested namespaces: The members of a nested namespace can be accessed by using dot (.) operator:

using System;
using first_demo;
using first_demo.second_demo;
namespace first_demo {
class myclass {
public void func1() {
Console.WriteLine("Helloworld.....");
}
}
namespace second_demo {
class myclass1 {
public void func2() {
Console.WriteLine("This is example of nested namespace.....");
}
}
}
}
class NestedNamespaceDemo {
static void Main(string[] args) {
myclass cls = new myclass();
myclass1 cls1 = new myclass1();
cls.func1();
cls1.func2();
Console.ReadKey();
}
}
登录后复制

Compile and execute the above code, and you will get the result as shown in the image below:

Conclusion

  • Using namespaces, c# programs are structured and use the directives to promote the use of namespaces. From this document, we can comprehend the need and use of namespaces in classes. Namespaces can also contain other types as their members, such as classes, interfaces, structures, enumerations, and delegates.
  • Namespaces are used as both an inner organizational system for a program and as an external organizational system to present program aspects exposed to other programs. It regulates the scope of methods and classes in bigger projects. Net programming. Namespaces are also used for solving the naming conflict problem.

以上是C# 中的命名空间的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板