前言

今天这篇文章和大家一起学习下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来操作的,而第二行是直接使用命名空间来操作的,这两者的效果是一样的。这里就是使用命名空间.类名来显示出具体类中的方法的。

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

SystemSystem.Data System.IOSystem.MathSystem.Net

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

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

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

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

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发  谢谢。

往期推荐

C#中的类型转换

C#中的协变和逆变

C#中泛型约束的具体用法

C#中泛型的用法

C#中的命名空间和程序集相关推荐

  1. C#图解教程 第二十一章 命名空间和程序集

    命名空间和程序集 引用其他程序集 在第1章中,我们在高层次上观察了编译过程.编译器接受源代码文件并生称名称为程序集的输出文件.这一章中,我们将详细阐述程序集以及它们是如何生成和部署的.你还会看到命名空 ...

  2. 【转】c# 命名空间和程序集

    命名空间:用于对相关的类型进行逻辑分组,使用命名空间有利于方便定位一个类型 使用类的全权名: System.Text.StringBuilder sb = new System.Text.String ...

  3. CSharp(C#)语言_命名空间和程序集

    命名空间和程序集 引用其他程序集 命名空间 using指令 程序集的结构 程序集标识符 强命名程序集 创建强命名程序集 程序集的私有方式部署 共享程序集和GAC 引用其他程序集 编译器接受源代码文件并 ...

  4. VS2019修改项目或工程名称,修改命名空间以及程序集

    VS2019修改项目或工程名称,修改命名空间和程序集 系统:windows10 软件版本:VS2019 遇到问题:需要在旧项目上重新做一个新项目,所以需要修改项目名. 解决步骤: 其实我本人一直觉得, ...

  5. .NET : 再谈谈XML中的命名空间问题

    我之前有专门的文章讨论过在XML文件中的命名空间问题,事实上,这个命名空间的设计是XML规范中惹来争议最多的一个部分.其出发点是为了更好地标识元素,但事与愿违,它其实更多的时候是增加了麻烦.这方面的讨 ...

  6. C++中的命名空间namespace

    1.Cpp中的命名空间 假设这样一种情况,当一个班上有两个名叫Zara的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等.同样的情况, ...

  7. [推荐]在JavaScript中实现命名空间

    注:好久没写了,今天把我在公司内网写的文章拷一份,出来露露脸,刚转Web开发,所以开始学javascript! 在引入命名空间之前,一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突,在一 ...

  8. 替换 wcf 消息传输中的 命名空间

    替换 wcf 消息传输中的 命名空间,http://vanacosmin.ro/Articles/Read/WCFEnvelopeNamespacePrefix 转载于:https://www.cnb ...

  9. android怎么创建一个包命名空间,从Android的jar lib中声明命名空间

    我正在创建一个Android SDK作为jar.它包含一些自定义视图和自定义参数.我想创建一个嵌入式解决方案,开发人员除了将jar放入libs文件夹之外不需要做任何其他操作.我无法参加一个真正的图书馆 ...

最新文章

  1. 收藏 | 机器学习最全知识点汇总(万字长文)
  2. 某大龄程序员哀叹:夫妻双失业后还不起房贷,被迫断供!四年还了80万,60多万都是利息!...
  3. SAP QM 检验批号码跳号问题之对策
  4. linux 系统中断信息,关于操作系统:中断处理(Linux /常规)
  5. ACM之常见的(C++版)问题解析
  6. docker 搭建mysql 连接不上_docker搭建MySQL主从集群
  7. Python遍历破解FTP密码,并上传webshell
  8. cmake使用介绍【转】
  9. [转] 字符编码笔记:ASCII,Unicode和UTF-8
  10. python 写的第一个爬虫 下载网页视频,调用迅雷下载,男神喜欢
  11. 医疗行业GSP过检利器—医疗器械GSP管理系统
  12. 答题小程序之调查问卷模板开发
  13. PowerApps 社区计划:供个人使用的免费开发环境
  14. PowerApps中应用如何显示用户详细信息
  15. pe制作linux硬盘的镜像文件_用WindowsPE制作的启动U盘或移动硬盘安装cent os 6.2
  16. 程序化交易高手的交易心得 分享~
  17. 转正实习、春招、秋招、校招、社招的4个区别和陷阱
  18. 想和程序员小哥哥做朋友
  19. Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 15
  20. 什么是知识图谱(Knowledge Graph)(上)

热门文章

  1. TODO:从数据库中随机抽取一条记录
  2. Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named...
  3. jps、jinfo、jstat、jstack、jmap、jconsole等命令简介
  4. fstream实现文件复制(并将文件名小写改成大写)
  5. postfix搭建及配置
  6. 重温SQL——行转列,列转行(转:http://www.cnblogs.com/kerrycode/archive/2010/07/28/1786547.html)...
  7. yum安装mysql5.6
  8. 廖雪峰 练习 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字...
  9. css_oneday
  10. 16进制可逆加密算法