【问题标题】:Including namespaces in C# [duplicate]在 C# 中包含命名空间 [重复]
【发布时间】:2014-08-26 15:23:19
【问题描述】:

我想使用Console.WriteLine 方法。有两种方法

  1. using System; 然后Console.WriteLine(); 这是一种方法

  2. System.Console.WriteLine()。这是另一种方式

这两者有什么区别?

如果我使用using System;,所有类都会包含在系统命名空间下吗?

控制台类是否只包含我使用System.Console.WriteLine 语句时?

【问题讨论】:

  • 主要区别是减少击键...然后是关于帮助解决模糊名称的命名空间别名的问题...即使没有使用所有“存在”的类,因为对 dll 的引用,不使用你需要完全限定的名称。

标签: c# namespaces console


【解决方案1】:

using System 只是一个语法糖,它允许你在不指定命名空间的情况下访问命名空间下的所有类。所以是的,使用 System 导入在 System 命名空间中定义的所有类,然后您可以通过它们的名称访问它们。

如果您包含两个具有两个相同类的命名空间,则必须使用类的fully-qualified 名称以避免歧义。

另外值得注意的是,这只是一个快捷方式。 using指令不会向您的项目添加任何内容。因此,如果您需要使用第三方dll中的类或函数,首先您必须将add a reference添加到您的程序集(*.dll文件)然后您可以使用using 指令。

【讨论】:

  • 非常好的答案 - 只是补充一点,显然“使用”的主要优点是您的通话时间会更短。
【解决方案2】:
using System;

<CODEHERE>
<CODEHERE>
    Console.WriteLine("Text");
<CODEHERE>
<CODEHERE>

这是更通用、更常用的方法,原因有两个:

  1. 它更可读性
  2. 如果您想使用另一类 System,您已经有了导入。

使用其他方法:

System.Console.WriteLine("Text");

比较少见,您必须写出任何其他 System 类的完全限定名称,或者只是再次使用它:

System.Console.WriteLine("Text");
System.Console.WriteLine("Text2");

如果你回顾一下 using 语句的实际含义:

'Using' 是一个语句,用于阻止程序员重复地为所有内容键入完全限定的命名空间。

我会使用“使用系统”版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2016-07-26
    • 2019-11-15
    • 2020-02-08
    • 2017-01-13
    • 2019-03-14
    相关资源
    最近更新 更多