每当您创建新页面或项目时,Visual Studio会自动为您创建using语句。其中一些您可能永远不会使用。
Visual Studio有一个有用的功能,可以“删除未使用的using语句”。
如果在文件顶部保留未被访问的using语句,是否会对程序性能产生负面影响,我想知道。
每当您创建新页面或项目时,Visual Studio会自动为您创建using语句。其中一些您可能永远不会使用。
Visual Studio有一个有用的功能,可以“删除未使用的using语句”。
如果在文件顶部保留未被访问的using语句,是否会对程序性能产生负面影响,我想知道。
一个未使用的“using”对应用程序的运行时性能没有影响。
它可能会影响IDE和整体编译阶段的性能。原因是它创建了一个额外的命名空间,其中必须进行名称解析。但这些影响通常很小,对于大多数情况,不应该对IDE体验产生明显的影响。
由于相同的原因,它还可能会影响调试器中表达式的评估性能。
通过移除应用程序中未使用的引用,您可以防止CLR
在运行时加载未使用的已引用模块。这意味着您将减少应用程序的启动时间,因为加载每个模块需要时间,并避免编译器加载永远不会使用的元数据。您可能会发现,根据每个库的大小而言,您的启动时间显著减少。这并不是说加载后您的应用程序会更快,但知道启动时间可能会减少还是很方便的。
移除任何未使用的引用还有另一个好处,那就是减少与命名空间冲突的风险。例如,如果您都已经引用了System.Drawing
和System.Web.UI.WebControls
,则在尝试引用Image
类时可能会发生冲突。如果您的类中有与这些引用匹配的using指令,则编译器无法确定要使用哪个。如果您经常在开发时使用自动完成功能,则移除未使用的命名空间将减少您在输入时文本编辑器中自动完成值的数量。
不,这只是一个编译时/编码风格的问题。.NET二进制文件在底层使用完全限定名称。
对于执行速度没有影响,但是编译速度/智能感知可能会稍微受到一些影响,因为有更多的潜在命名空间需要搜索适当的类。我不会太担心它,但是你可以使用“组织Using”菜单项来删除和排序using语句。
不执行的代码不会影响程序的性能。