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



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


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


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


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



目录
相关文章
|
4月前
|
C# 开发者
C# 9.0中的模块初始化器:程序启动的新控制点
【1月更文挑战第14天】本文介绍了C# 9.0中引入的新特性——模块初始化器(Module initializers)。模块初始化器允许开发者在程序集加载时执行特定代码,为类型初始化提供了更细粒度的控制。文章详细阐述了模块初始化器的语法、用途以及与传统类型初始化器的区别,并通过示例代码展示了如何在实际项目中应用这一新特性。
|
4月前
|
编译器 C# 开发者
C# 9.0中的顶级语句:简化程序入口的新特性
【1月更文挑战第13天】本文介绍了C# 9.0中引入的顶级语句(Top-level statements)特性,该特性允许开发者在不使用传统的类和方法结构的情况下编写简洁的程序入口代码。文章详细阐述了顶级语句的语法、使用场景以及与传统程序结构的区别,并通过示例代码展示了其在实际应用中的便捷性。
|
7月前
|
开发框架 .NET C#
利用WinDbg分析C#程序产生的转储文件
利用WinDbg分析C#程序产生的转储文件
|
7月前
|
C# C++
VS调试C#程序产生的dump
VS调试C#程序产生的dump
|
7月前
|
C#
C#程序Debug文件夹可以运行,无法调试
C#程序Debug文件夹可以运行,无法调试
|
5天前
|
前端开发 Java C#
C#程序启动后乱码(通过idea启动)
C#程序启动后乱码(通过idea启动)
11 0
|
22天前
|
JavaScript C#
C#winForm程序与html JS交互调用
C#winForm程序与html JS交互调用
|
2月前
|
Java C# 开发工具
第一个C#程序
第一个C#程序
12 0
|
6月前
|
开发框架 网络协议 前端开发
一个对C#程序混淆加密,小巧但够用的小工具
一个对C#程序混淆加密,小巧但够用的小工具
92 1
|
2月前
|
数据采集 存储 C#
抓取Instagram数据:Fizzler库带您进入C#程序的世界
在当今数字化的世界中,数据是无价之宝。社交媒体平台如Instagram成为了用户分享照片、视频和故事的热门场所。作为开发人员,我们可以利用爬虫技术来抓取这些平台上的数据,进行分析、挖掘和应用。本文将介绍如何使用C#编写一个简单的Instagram爬虫程序,使用Fizzler库来解析HTML页面,同时利用代理IP技术提高采集效率。
抓取Instagram数据:Fizzler库带您进入C#程序的世界