C#中的命名空间和程序集

简介: C#中的命名空间和程序集

前言


今天这篇文章和大家一起学习下C#语言下的命名空间和程序集。


在日常的编码工作中,我们对命名空间和程序集都不会很陌生。在创建项目文件时,IDE自动会为我们创建好一个大的命名空间和程序集。大多数业务代码都是在解决方案下各自的命令空间里进行编码的。


编译器接受源代码文件并生成名称为程序集的输出文件。


目前看到的所有程序中,大部分都声明并使用它们自己的类。


日常编码中也可能会用到很多来自其它程序集的类或类型,这时候可能来在BCL、第三方类库、开源类库等。这些程序集被成为类库,也可以自己创建属于自己的业务类库,方便复用。类库一般都是以.dll为结尾的文件,可以被多个项目引用。


命名空间和程序集


下面图片显示的就是命名空间


一个完整的C#项目,都会有一套统一的模式。


解决方案-->程序集-->命名空间-->类-->方法


新项目创建成功后,IDE自动会创建一个完整的编译形式,也会默认引用一些程序集,方便后期进行业务的编写。



控制台程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _20220208                             //命令空间
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}


默认引用的程序集



可以看到在控制台程序中顶部显示的using 模块,这里都是控制台引入的命令空间,C#统一显示在顶部(也可显示在编码处)。


显示在编码处如下:

static void Main(string[] args)
 {
     Console.WriteLine("你好,阿辉");
     System.Console.WriteLine("你好,阿辉");
 }


上面的代码可以看到在输出“你好,阿辉”时,第一行是直接使用引用的System来操作的,而第二行是直接使用命名空间来操作的,这两者的效果是一样的。这里就是使用命名空间.类名来显示出具体类中的方法的。


一般常见的命名空间如下所示:


 System
 System.Data 
 System.IO
 System.Math
 System.Net



这里关于命名空间有几点需要注意的:


  • 在命名空间内,每个类型名必须有别于所有其他类型


  • 命名空间内的类型称为命名空间的成员


  • 一个源文件可以包含任意数目的命名空间声明,可以顺序也可以嵌套



目录
相关文章
|
1月前
|
缓存 C# Windows
C#程序如何编译成Native代码
【10月更文挑战第15天】在C#中,可以通过.NET Native和第三方工具(如Ngen.exe)将程序编译成Native代码,以提升性能和启动速度。.NET Native适用于UWP应用,而Ngen.exe则通过预编译托管程序集为本地机器代码来加速启动。不过,这些方法也可能增加编译时间和部署复杂度。
|
27天前
|
设计模式 程序员 C#
C# 使用 WinForm MDI 模式管理多个子窗体程序的详细步骤
WinForm MDI 模式就像是有超能力一般,让多个子窗体井然有序地排列在一个主窗体之下,既美观又实用。不过,也要小心管理好子窗体们的生命周期哦,否则一不小心就会出现一些意想不到的小bug
|
1月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
55 0
|
1月前
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
63 0
|
2月前
|
C# 容器
C#中的命名空间与程序集管理
在C#编程中,`命名空间`和`程序集`是组织代码的关键概念,有助于提高代码的可维护性和复用性。本文从基础入手,详细解释了命名空间的逻辑组织方式及其基本语法,展示了如何使用`using`指令访问其他命名空间中的类型,并提供了常见问题的解决方案。接着介绍了程序集这一.NET框架的基本单位,包括其创建、引用及高级特性如强名称和延迟加载等。通过具体示例,展示了如何创建和使用自定义程序集,并提出了针对版本不匹配和性能问题的有效策略。理解并善用这些概念,能显著提升开发效率和代码质量。
98 4
|
1月前
|
API C#
C#实现Winform程序右下角弹窗消息提示
C#实现Winform程序右下角弹窗消息提示
82 0
|
2月前
|
Linux C# 开发者
Uno Platform 驱动的跨平台应用开发:从零开始的全方位资源指南与定制化学习路径规划,助您轻松上手并精通 C# 与 XAML 编程技巧,打造高效多端一致用户体验的移动与桌面应用程序
【9月更文挑战第8天】Uno Platform 的社区资源与学习路径推荐旨在为初学者和开发者提供全面指南,涵盖官方文档、GitHub 仓库及社区支持,助您掌握使用 C# 和 XAML 创建跨平台原生 UI 的技能。从官网入门教程到进阶技巧,再到活跃社区如 Discord,本指南带领您逐步深入了解 Uno Platform,并提供实用示例代码,帮助您在 Windows、iOS、Android、macOS、Linux 和 WebAssembly 等平台上高效开发。建议先熟悉 C# 和 XAML 基础,然后实践官方教程,研究 GitHub 示例项目,并积极参与社区讨论,不断提升技能。
91 2
|
3月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
|
3月前
|
安全 C# 开发者
【C# 多线程编程陷阱揭秘】:小心!那些让你的程序瞬间崩溃的多线程数据同步异常问题,看完这篇你就能轻松应对!
【8月更文挑战第18天】多线程编程对现代软件开发至关重要,特别是在追求高性能和响应性方面。然而,它也带来了数据同步异常等挑战。本文通过一个简单的计数器示例展示了当多个线程无序地访问共享资源时可能出现的问题,并介绍了如何使用 `lock` 语句来确保线程安全。此外,还提到了其他同步工具如 `Monitor` 和 `Semaphore`,帮助开发者实现更高效的数据同步策略,以达到既保证数据一致性又维持良好性能的目标。
46 0