与完整命名空间相比,使用指令是否会影响性能或增加应用程序大小?
Do using directives hurt performance or increase app size compared to full namespaces?
我在某处读到,当您将 using System;
添加到 .cs
文件时,编译器(或可能是其他东西)将所有 System
相关的 类 添加到您的 . cs 文件,所以也许最好不要总是添加 using System;
而是引用你的 DateTime
及其完整的命名空间,例如:System.DateTime
,如果它很容易做到并且在你的 .cs 文件中很少有东西引用 System
它。
这是真的吗?如果是这样,会不会影响性能或增加应用程序的大小?如果是这样,我意识到 using System;
更容易编写并且很方便,因此,您必须权衡便利性和性能。也可能是只添加 using System;
可能没有太大区别,但是当添加许多引用时,也许可以吗?谢谢!
如果您使用 "using System;",您可以访问系统 class 中的所有方法。
您的 class 对整个系统有一个 "link"。
如果您编写 "using System.DateTime;" 作为示例,您只能访问 DateTime 函数。
在我看来,最好使用指定的 using like "using System.DateTime".
因此,您的 .cs 文件中没有指向 "uneccessary" classes/methods 的链接。
此外,"using System" 不包括系统内部的所有方法。
例如 IO class 或 Xml Class.
如果你想使用这些你必须在你的方法调用之前写 "System.IO." 或者你必须使用 System.IO;
使用指令和完整命名空间 生成相同的 IL。
对于语言编译器来说,这可能只是一点点额外的工作,但你想牺牲可读性。
编译时和运行时过程图概述来自Illustrated C# 2012 by Daniel Solis
提及
System.Console.WriteLine("Something");
仅此易于理解的目的。但是每次的开发者点都没有提到完整的限定名称。
So That Time 使用命名空间 Using.System
我在某处读到,当您将 using System;
添加到 .cs
文件时,编译器(或可能是其他东西)将所有 System
相关的 类 添加到您的 . cs 文件,所以也许最好不要总是添加 using System;
而是引用你的 DateTime
及其完整的命名空间,例如:System.DateTime
,如果它很容易做到并且在你的 .cs 文件中很少有东西引用 System
它。
这是真的吗?如果是这样,会不会影响性能或增加应用程序的大小?如果是这样,我意识到 using System;
更容易编写并且很方便,因此,您必须权衡便利性和性能。也可能是只添加 using System;
可能没有太大区别,但是当添加许多引用时,也许可以吗?谢谢!
如果您使用 "using System;",您可以访问系统 class 中的所有方法。
您的 class 对整个系统有一个 "link"。
如果您编写 "using System.DateTime;" 作为示例,您只能访问 DateTime 函数。
在我看来,最好使用指定的 using like "using System.DateTime".
因此,您的 .cs 文件中没有指向 "uneccessary" classes/methods 的链接。
此外,"using System" 不包括系统内部的所有方法。
例如 IO class 或 Xml Class.
如果你想使用这些你必须在你的方法调用之前写 "System.IO." 或者你必须使用 System.IO;
使用指令和完整命名空间 生成相同的 IL。
对于语言编译器来说,这可能只是一点点额外的工作,但你想牺牲可读性。
编译时和运行时过程图概述来自Illustrated C# 2012 by Daniel Solis
提及
System.Console.WriteLine("Something");
仅此易于理解的目的。但是每次的开发者点都没有提到完整的限定名称。
So That Time 使用命名空间 Using.System