Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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_Namespaces_Using - Fatal编程技术网

c#使用名称空间语句排序

c#使用名称空间语句排序,c#,.net,performance,namespaces,using,C#,.net,Performance,Namespaces,Using,我想我在某个地方读到过,对using语句进行排序并去掉未使用的语句对性能有某种好处……但我似乎找不到任何证据或资源来支持这一点……这有什么道理吗?不,用于设置名称空间的using语句没有性能成本。无论语句的顺序如何,生成的IL代码都是相同的。唯一的优点是清晰易读。此外,删除未使用的会加快编译时间,但运行时性能不会有任何不同。不会有任何不同。至少在运行时肯定不是这样。可能在构建时需要一些额外的时间来处理它们,但这不会引起注意。使用语句的不会被带入IL代码中,所有内容都有其全名,因此它只是构建时的事

我想我在某个地方读到过,对using语句进行排序并去掉未使用的语句对性能有某种好处……但我似乎找不到任何证据或资源来支持这一点……这有什么道理吗?

不,用于设置名称空间的
using
语句没有性能成本。无论语句的顺序如何,生成的IL代码都是相同的。唯一的优点是清晰易读。此外,删除未使用的会加快编译时间,但运行时性能不会有任何不同。

不会有任何不同。至少在运行时肯定不是这样。可能在构建时需要一些额外的时间来处理它们,但这不会引起注意。使用语句的
不会被带入IL代码中,所有内容都有其全名,因此它只是构建时的事情

现在,就我个人而言,我热键“排序并删除usings”并不断点击它,只是因为它保持了代码的整洁。但这只是一种强迫性的东西:)

在中使用命名空间指令 相同的编译单元或命名空间 身体不会相互影响,可以 可以按任何顺序写


您非常想访问。

其他评论者没有提到的另一个问题:您的using语句会影响Intellisense中出现的内容(特别是扩展方法)。删除未使用的语句将使您的Intellisense性能更好,并且只显示相关的扩展方法。

听起来不对。无论如何,以什么方式订购它们?它对性能的唯一影响是Visual Studio的intellisense,但这通常不是VS 2010的问题&一台现代PC。类型都是在编译时绑定的,因此使用不会影响运行时性能(参见@keyboardP关于IL代码的回答).我不记得我在哪里听到或读到过它…或者可能我混淆了其他东西…似乎逻辑是如果你以某种方式对它们进行排序,它们会加载到内存中,这样会更有效率,甚至更快…比如整理名称空间碎片或其他东西…我不知道:)显然,我在谷歌上找不到任何关于它的信息是因为这显然是虚构的:)我今天早些时候在想,如果你只需要指定使用语句来表示不明确的类型就好了。所以我不必指定
使用系统
访问
字符串
等:-)