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

abb058303d3ae60091b43b9bdc4da836.png

前言

今天这篇文章和大家一起学习下C#语言下的命名空间和程序集。

在日常的编码工作中,我们对命名空间和程序集都不会很陌生。在创建项目文件时,IDE自动会为我们创建好一个大的命名空间和程序集。大多数业务代码都是在解决方案下各自的命令空间里进行编码的。

编译器接受源代码文件并生成名称为程序集的输出文件。

目前看到的所有程序中,大部分都声明并使用它们自己的类。

日常编码中也可能会用到很多来自其它程序集的类或类型,这时候可能来自BCL、第三方类库、开源类库等。这些程序集被称为类库,也可以自己创建属于自己的业务类库,方便复用。类库一般都是以.dll为结尾的文件,可以被多个项目引用。

命名空间和程序集

下面图片显示的就是命名空间

643a00ecf30f7fe9de0fedb3611cd93c.png

一个完整的C#项目,都会有一套统一的模式。

解决方案-->程序集-->命名空间-->类-->方法

新项目创建成功后,IDE自动会创建一个完整的编译形式,也会默认引用一些程序集,方便后期进行业务的编写。

控制台程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace _20220208                             //命令空间
{class Program{static void Main(string[] args){}}
}

默认引用的程序集

23420718c057dbf23cb40eb544c8b083.png

可以看到在控制台程序中顶部显示的using 模块,这里都是控制台引入的命令空间,C#统一显示在顶部(也可显示在编码处)。

显示在编码处如下:

static void Main(string[] args){Console.WriteLine("你好,阿辉");System.Console.WriteLine("你好,阿辉");}

上面的代码可以看到在输出“你好,阿辉”时,第一行是直接使用引用的System来操作的,而第二行是直接使用命名空间来操作的,这两者的效果是一样的。这里就是使用命名空间.类名来显示出具体类中的方法的。

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

SystemSystem.Data System.IOSystem.MathSystem.Net

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

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

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

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

寄语

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

原创不易,给个关注。

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

97c8d60bb8251c45d7cab37da5cf71f7.png

往期推荐

C#中的类型转换

C#中的协变和逆变

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

C#中泛型的用法

8ebfcd37fe974680409b8723c59b008b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++预处理宏的总结

1.定义顺序的无关性 #define PI 3.14 #define TWO_PI 2*PI 这两句谁前谁后无所谓,因为预处理器不断迭代来实现宏替换,直到源文件中没有宏了才停止。 2. 宏变量变成字符串 #define str(x) #x 例子:str (teststring) > "teststrin…

基于jQuery的ajax系列之用FormData实现页面无刷新上传

接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的FormData接口。关于FormData,大家可以看MDN文…

linux网络编程之用多线程实现客户端到服务端的通信(基于udp)

1、开启一个线程接受数据,主线程发送数据的代码 #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pthread.h> #include <netinet/in.h> #include <errno.h> #include <sys/time.h&g…

Apache FTPClient操作文件上传下载及公共类

我们在项目中可能需要使用ftp进行文件的上传、下载、获取服务器目录信息等相关操作&#xff0c;我们可以使用apache的FTPClient进行相关的操作&#xff0c;下面把相关公共方法与大家交流分享&#xff0c;每个方法前都有详细的注释进行讲解&#xff0c;不过在进行ftp测试的时候&…

abd shell关闭所有程序_在后台服务器上运行程序

之前总结过screen的用法&#xff0c;但还可以用nohup命令。nohup工具&#xff1a;Linux系统中有提供一个很好的不挂断地运行命令——nohup。我们使用nohup能很简单的控制使用&#xff0c;在此就简单的介绍一下nohup工具。nohup 命令nohup就是不挂起的意思( no hang up)。用途&a…

优秀的JavaScript模块是怎样炼成的

引言&#xff1a;如今的JavaScript已经是Web上最流行的语言&#xff0c;没有之一。从Github上的语言排行榜https://github.com/languages上即可看出&#xff0c;也是如今最为活跃的开源社区。随着Node的加入&#xff0c;JavaScript开枝散叶进入服务器领域&#xff0c;为这个语言…

解锁JDK 12的奇妙之旅:新特性详解

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 解锁JDK 12的奇妙之旅&#xff1a;新特性详解 前言switch表达式拓展NumberFormat对复杂数字的格式化字符串支持transform、indent操作新增方法Files.mismatch(Path, Path)Teeing Collector支持unicode…

.NET6之MiniAPI(十四):跨域CORS(上)

为了说明跨请求&#xff0c;创建了两个项目&#xff0c;一个mini api&#xff0c;端口是5001&#xff0c;另一个razor page项目&#xff0c;端口是5280。5280项目会在页面用ajax的方式来请求5001&#xff0c;形成跨域请求&#xff0c;由于是本地测试&#xff0c;host都是localh…

Linux文件锁学习-flock, lockf, fcntl

参考 linux中fcntl()、lockf、flock的区别 这三个函数的作用都是给文件加锁&#xff0c;那它们有什么区别呢&#xff1f; 首先flock和fcntl是系统调用&#xff0c;而lockf是库函数。lockf实际上是fcntl的封装&#xff0c;所以lockf和fcntl的底层实现是一样的&#xff0c;对文件…

linux网络编程之sockaddr_in和in_addr区别

1、struct in_addr struct in_addr就是32位IP地址。 struct in_addr { union {struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;struct { u_short s_w1,s_w2; } S_un_w;u_long S_addr;} S_un;#define s_addr S_un.S_addr }; 2、sockaddr_in struct sockaddr_in …

入驻

新手登录~

django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct

2019独角兽企业重金招聘Python工程师标准>>> 1.多表连接查询&#xff1a;当我知道这点的时候顿时觉得django太NX了。 class A(models.Model): name models.CharField(u名称) class B(models.Model): aa models.ForeignKey(A)B.objects.filter(aa__name__c…

利用tabluea分析数据的案例_利用德温特分析Dartsip的案例检索结果

德温特创新平台(Derwent Innovation)与Darts-ip知识产权案例数据库均是科睿唯安旗下的知识产权数据库&#xff0c;虽然这两个数据库的侧重点分别在于专利信息与知识产权判例&#xff0c;但若将两者结合使用则能发挥11>2的作用&#xff0c;打通专利全生命周期。关注我们的朋友…

浅谈C#可变参数params

前言前几天在群里看到群友写了一个基础框架&#xff0c;其中涉及到关于同一个词语可以添加多个近义词的一个场景。当时群友的设计是类似字典的设计&#xff0c;直接添加k-v的操作&#xff0c;本人看到后思考了一下觉得使用c#中的params可以更优雅的实现一个key同时添加一个集合…

Html、Css-----当有文字和图片的时候,需要文字和图片居中,怎么实现?不想文字换行怎么设置...

1 当有文字和图片的时候&#xff0c;需要文字和图片居中&#xff0c;怎么实现&#xff1f; <a href#" target"aa" style"white-space:nowrap;"><img src"img.jpg" align"absmiddle"/>文字</a> 在img标签中加入…

linux网络编程之怎么配置好unp.h文件

1、获取unp源码 下载地址:http://www.unpbook.com/src.html 然后用tar -zxvf unpv13e.tar.gz命令解压 2、进入unpv13e目录执行configure cd unpv13e ,然后执configure文件 3、打开README文件,使用make命令 打开README文件

Win10下安装wireshark不能正常使用,cmd管理员身份调用net start npf命令显示无法启动该服务

我安装wireshark完成后&#xff0c;刚开始运行wireshark并开始捕获时也不能正常捕获&#xff0c;然后发现是winpcap的原因。 我把我安装的wireshark版本和winpcap的版本资源和我个人出现问题的解决办法及经验已打包上传资源&#xff0c;伙伴们有需要的可以去参考借鉴一下~ PS…

CMD、AMD、commonJs 规范的写法

比较好的文章&#xff1a; http://www.jianshu.com/p/d67b...AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 //AMD 规范 /*** define(id?, dependencies?, factory); id 和 dependencies 是可选的。** define([d…

mft文件记录属性头包括_关于NTFS-MFT

一、Ntfs文件系统在磁盘上的分布一个ntfs文件系统由引导扇区、MFT(包含MFT元数据)和数据区组成。NTFS中存储了两份MFT备份以防MFT文件损坏&#xff0c;两个MFT备份的具体起始位置都存储在引导扇区中。image.png二、引导扇区($Boot)引导扇区是从NTFS文件系统的第一个扇区开始&am…

ffmpeg avformat_open_input返回失败的解决办法

用ffmpeg做的第一个程序&#xff0c;参考网上的代码&#xff0c;就出现了一些问题&#xff0c;其中avformat_open_input返回失败。 下面是我在网上收集到的失败信息的相关解决&#xff1a; 很多朋友在使用新版本的ffmpeg时&#xff0c;都遇到了avformat_open_input返回失败的问…