gpt4 book ai didi

c# - c#中的命名空间

转载 作者:太空狗 更新时间:2023-10-30 00:43:56 24 4
gpt4 key购买 nike

在下面的例子中,哪一个是最好的用途。如您所见,我只使用列表集合,没有使用 namespace 中的任何其他内容。是这样的,当Example1执行时,命名空间system.collections.generic下的所有类都加载到内存中还是什么?这两个示例的行为如何?

Example1:

using System.Collections.Generic;
public interface ICustomer
{
List<Customer> GetAll();
}


Example2:

public interface ICustomer
{
System.Collections.Generic.List<Customer> GetAll();
}

最佳答案

第一种情况让您在类(class)开始时声明您打算在类(class)中使用什么(您的耦合是什么)。声明,除其他用途外,由您的 IDE 和编译器用于:

  • 启用智能感知(自动完成)
  • 激活扩展方法(例如 Linq 扩展方法)

因此,如果不声明它们,您将失去此功能。这种用途是优选的。它还提高了代码的可读性。即使 Visual Studio 不强烈鼓励您保持使用清洁(显示警告等,例如,在基于 Java 的环境中),始终最好从上下文菜单中执行“删除未使用的导入”你的类文件。

第二种情况允许您使用通过完全限定名称显式引用它的类型。这种情况通常在名称冲突情况下使用。

最终,二进制编译代码将是相同的,因为编译器会对其进行优化,但如果您使用第一种方法,编译过程本身可能会更有效率。

关于c# - c#中的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com