Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “值得删除吗?”;“使用系统”;从我的档案里?_C#_.net_Performance_Using Declaration - Fatal编程技术网

C# “值得删除吗?”;“使用系统”;从我的档案里?

C# “值得删除吗?”;“使用系统”;从我的档案里?,c#,.net,performance,using-declaration,C#,.net,Performance,Using Declaration,在我的项目上开发了一系列POCO,并且刚刚意识到其中一些不需要使用系统子句 使用时未使用是否会导致性能或尺寸损失在我的对象或项目上 我的类是否会因此变得更大、更慢、更臃肿,或者编译器/优化器是否足够聪明来处理这个问题?不,没有性能问题 这只是一个可读性问题(我建议删除它们) 更多信息,请访问: 既不会带来性能提升,也不会带来命中率 我删除所有未使用的,并将所有使用的作为代码样式进行排序(整洁)。您可以通过Visual Studio上下文菜单(我将其绑定到一个热键)执行此操作。所有“using S

在我的项目上开发了一系列POCO,并且刚刚意识到其中一些不需要
使用系统子句

使用时未使用
是否会导致性能或尺寸损失在我的对象或项目上


我的类是否会因此变得更大、更慢、更臃肿,或者编译器/优化器是否足够聪明来处理这个问题?

不,没有性能问题

这只是一个可读性问题(我建议删除它们)

更多信息,请访问:

既不会带来性能提升,也不会带来命中率


我删除所有未使用的,并将所有使用的作为代码样式进行排序(整洁)。您可以通过Visual Studio上下文菜单(我将其绑定到一个热键)执行此操作。

所有“using System;”语句都允许您在没有完全限定名的情况下使用该名称空间。它不会以任何方式影响运行时性能。

在代码中使用未使用的
语句不会导致运行时性能损失。它们不会以任何形式出现在已编译的DLL中(它们确实存在于PDB中)

然而,如果你知道它们是无效的,通常认为移除它们是好的方式。使用未使用的using本质上是声明代码对一组类型和扩展方法的错误依赖

确定哪些用法不被使用是一个乏味的过程。我发现最好只安装一个工具,比如
PowerCommands
,让它完成文件保存的工作


如果您未使用参考/组件或扩展功能 例如使用System.Linq;默认情况下,将添加到VS2010项目中。。如果你不使用它。。把它取下来。。没有性能问题

只是语法上的糖分


使用引用添加不会影响性能,除了边际编译时差异。

它不会影响编译器的输出或编译程序的性能


它可以作为个人偏好的一部分删除。我个人推荐它,因为它可以加快编译速度(减少编译器要查找的名称空间),还可以提高intellisense的性能

它对性能没有影响。您可以自行决定是否保留或移除


但是,考虑保留它。
System
命名空间包含.NET Framework最常用的部分,在文件生命周期的某个时刻,您(或某人)可能最终需要它。这意味着不可避免地要把它放回去,可能是在浪费时间想为什么没有系统类存在之后。

这是最佳实践之一,删除未使用的类namespaces@ashutoshraina我不知道我是否会称之为“最佳实践”。它可以增加可读性,但对代码输出没有影响。@Platinum Azure,我也可以编译自己的内核并为自己的目的编写自定义版本的Linux,但我没有。:-)@马查多:苹果和桔子。我是说,当你完全可以自己测量一切时,你不应该要求别人为你工作。@PlatinumAzure,我当然可以这么做。我可以更深入地检查IL。这不是重点。由于这个问题,我得到了一些关于使用和它如何影响Intellisense的很好的答案,但不是输出本身,另外我还从我的程序员同事那里得到了关于编码风格的输入。如果你不喜欢这个问题,请随意否决,这是你的权利。编译2个版本的代码并比较生成的IL。