前言

今天这篇文章和大家一起学习下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

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

  • 在命名空间内,每个类型名必须有别于所有其他类型
  • 命名空间内的类型称为命名空间的成员
  • 一个源文件可以包含任意数目的命名空间声明,可以顺序也可以嵌套

寄语

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

原创不易,给个关注。

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

C#中的命名空间和程序集的更多相关文章

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

    命名空间和程序集 引用其他程序集 mscorlib库 命名空间 命名空间名称命名空间的补充命名空间跨文件伸展嵌套命名空间 using 指令 using命名空间指令using别名指令程序集的结构 程序集 ...

  2. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_命名空间和程序集的关系

    命名空间和程序集不一定相关 1. 同一个命名空间中的各个类型可能是在不同的程序集中实现的.(System.IO.FileStream在MSCorLib.dll程序集中,而System.IO.FileS ...

  3. 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProject\bin \testProject.DLL”。请在类型名称中显式指定程序集。

    问题描述: RT 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProj ...

  4. 安装SQLServer2005错误无法在com+目录中安装和配置程序集

    无法在com+目录中安装和配置程序集c:\program files\Microsoft SQL Server\90\DTS\tasks\microsoft.sqlserver.MSMQTASK.DL ...

  5. C语言中的命名空间

    C语言中的命名空间 命名空间是为了解决 "在相同作用域内如何区分 相同的标识符". 说明: ①只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域.不同的作用域区 ...

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

    替换 wcf 消息传输中的 命名空间,http://vanacosmin.ro/Articles/Read/WCFEnvelopeNamespacePrefix

  7. JavaScript中创建命名空间

    引用:http://ourjs.com/detail/538d8d024929582e6200000c   在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺 ...

  8. Namespacing in PHP (php 中使用命名空间)

    最近学习一下php的命名空间,中文文档不多,搜到一篇英文的,讲的还蛮系统的,特此翻译一下,以备以后查阅,大家有什么高见或更深刻或者 更悟透的见解希望能不吝赐教,晚辈感激不尽. 原文: http://c ...

  9. 在JavaScript中创建命名空间的几种写法

    在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hel ...

  10. js中创建命名空间的几种写法

    在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hel ...

随机推荐

  1. idea常用快捷键记录

    实用编写代码辅助快捷键 Ctrl+Alt+V 提出选中内容为局部变量 Ctrl+Backspace 按单词删除 Ctrl+D 复制行 Ctrl+Y 删除当前行 Ctr+Shift+U 大小写转化 Sh ...

  2. ELK收集njinx

    前提:安装elk 1.yum安装nginx 2.修改配置文件 vim /etc/nginx/nginx.conf.d 3.重新启动 nginx -s reload 4.安装压测命令 压测文件 5.写完 ...

  3. 反序列化 sqlserver 中的 sysdiagrams,找到其中包含的表的信息

    转载于:Script SQL Server 2005 diagrams to a file - CodeProject /** <summary> Based on ufn_Varbina ...

  4. 延期!欧盟新标EN IEC 62368-1:2020延至2024年7月6日生效

    近日,TC108X成员投票同意将EN IEC 62368-1:2020(对应IEC 62368-1第三版)的DOW (Date Of Withdrawn)日期由原先的2023年1月6日延长至2024年 ...

  5. Markdown基础使用学习

    Mark Down学习 标题:#+标题名字 二级标题:## +标题名字 三级... 字体 两个*+字+两个=加粗 一个=斜体 引用 一个大于号+内容 图片 ![图片名字](路径) 符号全部小写 超链接 ...

  6. 如何在微信小程序中使用ECharts图表

    在微信小程序中使用ECharts 1. 下载插件 首先,下载 GitHub 上的 ecomfe/echarts-for-weixin 项目. 下载链接:ecomfe/echarts-for-weixi ...

  7. STM32任意引脚模拟IIC

    关于模拟I2C,任意接口都可模拟(未全部测试,可能存在特殊情况). 关于SDA_IN与SDAOUT:如下定义: 举例:#define MPU_SDA_IN() {GPIOA->CRL&= ...

  8. 洛谷 P2105 K皇后 题解

    START: 2021-08-06 16:34:44 题目链接: https://www.luogu.com.cn/problem/P2105 题目详情: 小 Z 最近捡到了一个棋盘,他想在棋盘上摆放 ...

  9. Linux让部署在服务器上的项目一直保持运行状态…&跑多个项目

    在idea通过package得到的.jar包或者.war包可通过 java -jar xxx.jar/xxx.war 命令直接在linux或者windows系统运行:   将打好包的项目放在linux ...

  10. Linux配置

    JDK安装 一.登录虚拟机进入终端切换到root用户,输入:su 接着输入密码 再输入:cd - 回到root用户 二.接着在终端进入对应文件新建一个装jdk包的文件夹,输入:mkdir +目录名称 ...