首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用System.Net和不使用System.Net的区别

使用System.Net和不使用System.Net的区别
EN

Stack Overflow用户
提问于 2013-04-21 17:14:04
回答 2查看 110关注 0票数 2

像这样添加System.Net有什么区别:

代码语言:javascript
复制
 CookieContainer globalcontainer = new System.Net.CookieContainer();

并在声明中使用不带命名空间的类

代码语言:javascript
复制
 CookieContainer globalcontainer = new CookieContainer();

在效率上哪一个更好?

EN

回答 2

Stack Overflow用户

发布于 2013-04-21 17:20:14

两者都不是更高效,一种是显式指定名称空间,另一种是隐式。

在.cs文件的顶部,using指令导入名称空间,这意味着这些名称空间中的类型不需要完全限定路径即可在代码中识别

例如:

List<T>出现在System.Collections.Generic中...如果不使用此命名空间的using指令,则必须使用完全限定名称:

代码语言:javascript
复制
System.Collections.Generic.List<int> someList;

而有了它,你就不会

代码语言:javascript
复制
using System.Collections.Generic;

List<int> someList;

有时可能会有名称空间冲突-想象一下以下场景:

代码语言:javascript
复制
Some.Namespace.Task
Some.Othernamespace.Task

如果同时导入两个名称空间:

代码语言:javascript
复制
using Some.Namespace;
using Some.Othernamespace;

Task someTask; // <--- this line will cause a compile time error

编译器不知道您想要哪个Task,来自Some.Namespace的还是来自Some.Othernamespace的-在这种情况下,您需要指定并提供完整的名称空间(或使用别名)。

希望这能有所帮助

在这里阅读所有关于命名空间的内容:

http://msdn.microsoft.com/en-gb/library/z2kcy19k(v=vs.80).aspx

票数 7
EN

Stack Overflow用户

发布于 2013-04-21 17:22:48

在运行时,这两者通常是相同的。

为了可读性,我通常不喜欢在同一条语句中使用名称空间(将其放在文件顶部的using指令中),因为它通常可以节省空间,使我的代码行不会太长,这无疑是一个很小的好处。

以下是我确实包含名称空间的时候:

  • 当我知道类名很可能被误解时,有时在.NET中的不同命名空间中使用了类型,并且我希望代码的读者能够理解我所指的更快的
  • 当它是来自此命名空间的唯一调用时,有时我显式地包括命名空间。
  • 如果我导入包含相同类型的多个命名空间。但这一点很明显。

因此,无论这听起来是好是坏,答案都是“视情况而定”。只要能让代码在更短的时间内变得更具可读性的程序就会胜出。

http://gurustop.net

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16129612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档