这是一个C#的using问题

我在研究using相关知识
根据我之前用Python的经验,using A 和usingA.B 应该是前者包含后者的关系
所以我认识,C#中using system 包含using.system.net ,所以删去using.system.net,通信程序也可以运行,但是我错了,必须加上using.system.net才能运行我写的通信程序,求解!为什么using A.B在两种语言中反差这么大!

其实using不using都可以,using只是可以简化你类型的代码,不需要再完整加上命名空间了
以 System.Net.Cookie 为例
如果不using
那么需要写
System.Net.Cookie
如果using System
那么需要写
Net.Cookie
如果 using System.Net
那么只需要写
Cookie
当然,你写System.Net.Cookie也可以。

System和System.Net是两个不同的程序集,没有所谓的“包含”关系,System命名空间定义在mscorlib.dll里面,而System.Net命名空间定义在System.dll里面,完全是两码事。而且纠结这个也没任何意义,只能说是语言设计者有各自不同的习惯。