前言

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

    文件太大导致IDEA不把该文件当成Java类看待 解决方式: 打开本地IDEA的bin目录,找到idea.properties文件,进入进行设置: idea.max.intellisense.file ...

  2. QT搭建Ffmpeg开发环境gcc版本

    1 先安装qt 解压ffmpeg包 2打开qt创建工程 3 导入头文件和库文件 这里一定要注意gcc版本和库的版本一定要一致 4 添加一下简单的源代码 1 #include <libavcode ...

  3. ES7-ES12总结篇

    脑图模式       插入 ES7-ES12  ES7  Array.prototype.includes()   includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则 ...

  4. c++ 构造名字不足的0补齐

    stringstream ss; ss << setfill('0') << setw(10) << i; vstrImageFilenames[i] = strP ...

  5. Spring系列之面向切面编程-15

    目录 AOP 概念 AOP 代理 @AspectJ 支持 启用@AspectJ 支持 使用 Java 配置启用 @AspectJ 支持 通过 XML 配置启用 @AspectJ 支持 声明一个方面 声 ...

  6. redis 配置哨兵模式时出现的问题(redis 版本 6.2.5)

    今天准备搭建一个 redis 集群(redis 版本 6.2.5),在这之前要先配置好哨兵模式. 但是在配置哨兵模式时出现了问题.之前没有搭建集群时(一主两从,三台虚拟机)可以顺利配置好,而搭建集群时 ...

  7. 纯css实现卡券式半圆及阴影(整理)

    <!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> & ...

  8. 2003031120—廖威—Python数据分析第四周作业—matplotlib的学习

    项目 内容 课程班级博客链接 20级数据班(本) 这个作业要求链接 python数据分析第四周作业要求 博客名称 2003031120-廖威-Python数据分析第四周作业-matplotlib的学习 ...

  9. Reincarnation

    HDU4622 Now you are back,and have a task to do: Given you a string s consist of lower-case English l ...

  10. Java压缩音频视频工具类

    /** * TODO * * @author Administrator * @version 1.0 * @date 2021/11/5 16:55 */ public class vedio { ...