命名空间:用于对相关的类型进行逻辑分组,使用命名空间有利于方便定位一个类型

使用类的全权名:

System.Text.StringBuilder sb = new System.Text.StringBuilder();

上面的写法很繁琐,使用using语句引入命名空间:

using System.Text;
StringBuilder sb = new StringBuilder();
对于编译器来说,命名空间就是为一个类型附加一些分隔符号,使名称更有唯一性。
c#的using指令是可选的,完全可以用类型的完整名称代替,c# 的using指令是告诉编译器为每一个类型附加不同的前缀,确定匹配的完整名称。
CLR不知道命名空间的任何事,CLR知道类的完整名称来锁定具体在哪个程序集里面定义的,然后加载这个程序集,并对其操作。
c# 的using指令还支持另一种形式,也就是允许为一个类型或命名空间定义别名:

using int = System.Int32;
int i = 0;

命名空间和程序集关系:

程序集是实现类型的文件,编译之后生成的。

命名空间是对类型的逻辑分组。

同一个命名空间中的类型可以是在不同的程序集中定义的。

同一个程序集中也可能包含多个命名空间,来对类型分组。

c#编译器可能比较关心命名空间,应为它需要确定类的完整名称,然后交给CLR。

CLR只关心程序集,会通过类的完整名称加载对应的程序集。

【转】c# 命名空间和程序集相关推荐

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

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

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

    前言 今天这篇文章和大家一起学习下C#语言下的命名空间和程序集. 在日常的编码工作中,我们对命名空间和程序集都不会很陌生.在创建项目文件时,IDE自动会为我们创建好一个大的命名空间和程序集.大多数业务 ...

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

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

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

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

  5. 解决方案、项目、程序集、命名空间

    一.解决方案.项目.程序集.命名空间 初学者很容易把这些概念搞混淆.先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件.在.Net下,一个项目可以表现为多种类型,如控制台应用程序 ...

  6. Assembly.Load()不能加载程序集的问题

    会出现"未能加载文件或程序集"Com.SQLServerDAL"或它的某一个依赖项.系统找不到指定的文件"的情况.就是无法找到该程序集,主要是没理解它运行的机制 ...

  7. C#命名空间与类名的冲突

    今晚写一个聊天客户端的程序,花了很长时间设计界面,然后在我定义P2PClient类的时候用到了类TcpClient,这是一个有关收发数据的类,但是我定义项目名的时候用了TcpClient,这样在我使用 ...

  8. 【转】C#命名空间与java包的区别分析

    本文实例分析了C#命名空间与java包的区别.分享给大家供大家参考.具体分析如下: 相同点: 1.都是为了重用性(reusebility)--软件工程中一个非常重要的目标. 2.C#里面的命名空间和j ...

  9. .net如何引用该命名空间

    一.在.Net中如何引用该命名空间 (1)System.Windows.Threading 该命名空间在程序集WindowsBase(WindowsBase.dll)下 (2)System.Windo ...

最新文章

  1. spring中配置properties资源文件
  2. RxJava flatMap操作符用法详解
  3. Python之列表方法
  4. Zabbix中文乱码问题
  5. 【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1)
  6. 标准梯度—lhMorpGradient
  7. Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?
  8. spring 多数据源-实现
  9. 计算机三级网络技术总结,计算机三级网络技术总结
  10. 字节转换,字符串与数字转换
  11. 【锁】redis加锁的几种方法
  12. 虚拟服务器 切换任务管理器,在远程桌面连接中使用任务管理器(转)
  13. 【荐】卓有成效的管理者
  14. Windows模拟器推荐
  15. 生产服务器硬盘寻道时间,HD Tune平均读写/寻道时间对比_希捷 NAS HDD 4TB 5900转 64MB_内存硬盘评测-中关村在线...
  16. 【资源总结】前端资源收集
  17. JavaScript字符串方法汇总
  18. 【学习机器学习】实验——聚类算法性能度量
  19. HDUnbsp;1533nbsp;Goingnbsp;Homenbsp;(KM算法)
  20. oracle无法套接字读取,【[求助]无法从套接字读取更多的数据】-Oracle论坛-ZOL中关村在线...

热门文章

  1. PyChram简单使用教程
  2. matlab绘制三维图形
  3. js中同名的函数的调用情况
  4. Django 的工程创建
  5. Java虚拟机(JVM)默认字符集详解
  6. 作为前端应当了解的Web缓存知识
  7. POJ 2429 GCD LCM Inverse ★(pollard-ρ DFS枚举)
  8. Silverlight HTML5 Flash - RIA技术之三足鼎立
  9. [Leedcode][JAVA][第289题][生命游戏]
  10. 【软考】[信息安全工程师]