2 tabe123 tabe123 于 2015.07.15 13:10 提问

c#命名空间的问题不大懂
c#

想问大神们一个关于命名空间的问题

using system.net;
using system.net.socket;

这两个有什么联系呢? 第二个是不是包含在第一个里面,为啥引用了第一个还要在用第二个。谢谢

8个回答

save4me
save4me   Ds   Rxr 2015.07.15 13:20

打个比方,一幢楼每个单元留下都有门锁,每家也都有自己家的门锁,回家的时候,打开了单元门,还需要打开自己家的门才能进入你家。

jamejoe
jamejoe 很形象诶
2 年多之前 回复
Evankaka
Evankaka   Ds   Rxr 2015.07.15 13:07

using system.net;引用该包下的所有类,但不包括子包socket里的类
using system.net.socket;引用该包下的所有类

oyljerry
oyljerry   Ds   Rxr 2015.07.15 13:30

用了using system.net;
你直接使用net下面的东西都可以,但是使用socket下面的东西,就需要带上socket命名空间

如果加上了using system.net.socket;,那么你也可以直接使用socket下面的东西了。

qq_15427331
qq_15427331   2015.07.15 14:19

简单的可以这么说,如果自己了解要用的类在具体包含,就直接定位到所在包(可能会是子包)进行使用,如果只知道大体范围建议使用最上面的那种导包方式,唯一不同的是第一种是在程序运行以后整包扫描,第二种大且不用

91program
91program   Ds   Rxr 2015.07.15 14:29

你可以只包含 using system.net,但 调用 socket 中的对象时,就必须写成 socket.对象 才行。

zh_younger
zh_younger   2015.07.15 14:47

如果想省事可以这样写 using system.net.*

CSDNXIAON
CSDNXIAON   2015.07.16 15:30

C#命名空间
C#命名空间
c#中的命名空间
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

miracle_yao
miracle_yao   2015.07.28 12:11

using system.net;
using system.net.socket;
using的时候可以看作两个独立的命名空间,没有任何联系。
namespace system.net
namespace system.net.socket
namespace则不一样,namespace system.net.socket 命名空间下可以不using system.net; 就可以直接用system.net的类,而namespace system.net命名空间下则必须using system.net.socket才可以使用system.net.socket的类,这里就会存在层次的区别。

Csdn user default icon
上传中...
上传图片
插入图片