c#中using-添加引用-程序集(详解) 以及与 c++中include等区别

本文详细介绍了C#中using的三种作用:引入名字空间、定义别名和替代try-catch,以及添加引用用于包含其他程序集。对比C++,using在C++中用于名字空间,而#include则原样复制代码。C#的程序集是逻辑单元,包含元数据、类型元数据、MSIL代码和资源。程序集加载时会递归加载所引用的程序集,如果不在GAC,则需要与exe在同一目录下。
摘要由CSDN通过智能技术生成

一、c#中Using无非就三个作用,引入名字空间,减少代码输入量;给名字空间或类型定义一个别名;try-catch的一种替代。

二、c#中添加引用的作用是把其它程序集包含到本项目中,就好像在本项目中写的类一样,因为只有在一个项目中写的类才能互相识别。c#中一个项目中写的两个类是无条件相互识别的,比如在项目中写了Class1和Class2,当然这两个类的名字空间一样。在Class2的方法中可以直接定义Class1的实例(甚至输入代码过程中有智能提示)。我理解,在书写代码的过程中,每定义一个名称,这个名称(不管是类名,方法名还是属性名)一直在随着分号的结束自动添加到自己所在的程序集中的。

三、要区分using和添加引用功能并内有任何必然联系。添加引用有点相当于c++中的include,是把别的程序集中定义的类的信息让本项目识别(因此添加完引用后就有可能出现只能提示)。using表示使用了某个名字空间,完全可以从来不用using来引入名字空间,使用某个程序集中的类型时使用包含名字空间的全名,只不过这样书写起代码太麻烦。所以using引入名字空间完全是为了书写代码方便,而添加引用是为了将别人写的类导入到自己的项目中来(就好像增加了一个新写的类一样)使用。

四、c++中也有using名字空间语句,它的名字空间和c#中的名字空间完全一样,只是为了避免重名而已。C++中的include语句只起到将某些代码原样复制到所在位置。我理解由于c++不想c#中那样有程序集的概念,不会在书写代码的过程中自动把定义的类型添加到程序集中,所以书写的各个类(不同的.cpp源文件)互相不识别,需要通过include来提前声明一个表示这个类型已经

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值