显式使用System.IO而不是导入它是否有性能优势?

时间:2010-08-06 17:44:19

标签: vb.net

我有一个导入System.IO的VB文件,但只使用它有几个地方。我的同事和我想知道如果我们只是使用System.IO显然我们需要它(IE。,System.IO.MemoryStream)而不是导入它,是否会有小的性能提升。

2 个答案:

答案 0 :(得分:11)

没有。没有区别。在任何一种情况下,编译器都会产生完全相同的IL。

您可以通过两种方式进行编译来证明它,然后使用Reflector来反汇编装配并观察产生的IL。

答案 1 :(得分:3)

罗伯特是完全正确的。我将补充说,导入名称空间(VB.NET是Imports; C#是using)的目的是避免必须键入您打算使用的每个类的完全限定名称。编译后的IL代码仍然使用完全限定名称,因此导入命名空间只是为了简化您作为开发人员的一些工作。

导入命名空间的一个缺点是,如果有人给你使用代码,但是没有与你共享命名空间导入的代码文件的顶部,你必须自己弄清楚要添加的命名空间。