c# - 为什么这是命名空间的错误用法?

标签 c# namespaces

我正在学习 C#,但我不太确定命名空间。我知道我可以省略任何“using”语句,而只说 System.Console.WriteLine,或者我可以说“using System”,然后说“Console.WriteLine”,但我不明白为什么以下内容不起作用。

using System.Console;

namespace HelloWorld
{
    public class Program
    {
        public static void Main(string[] args)
        {
            WriteLine("Hello world");
        }
    }
}

最佳答案

Console 不是一个命名空间,而是一个类。 WriteLine 是该类的静态方法(因此您不需要实例即可使用它)。事实上,Console 类本身似乎是静态的(因此没有实例)。

您无法使用 C# 5.0 及更早版本中的类。根据这篇 MSDN 文章 ( http://msdn.microsoft.com/en-us/magazine/dn683793.aspx ),您只能在 C# 6.0 中使用静态类来执行此操作(您编写的代码可以编译并运行)。

MSDN对于 Console 类。

关于c# - 为什么这是命名空间的错误用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517059/

相关文章:

php - 检查存储在字符串中的类名是否正在实现接口(interface)

c# - 您见过的最好或最有趣的扩展方法用法是什么?

C# 线程和使用 AutoResetEvent

c# - WebMethod 性能变慢

apache-flex - halo 和 mx 命名空间的区别

ruby-on-rails - 如何命名模型\类?

c# - WPF 命名空间的奇怪名称

c# - 数据库未更新

c# - return 可以抛出异常吗?

r - 错误: object ‘sigma’ is not exported by 'namespace:lme4'