我正在学习c#,但我对命名空间不太确定。我知道我可以放弃任何"使用"语句,只是说System.Console.WriteLine,或者我可以说"使用System"然后说'#34; Console.WriteLine",但我不明白为什么以下不起作用。
using System.Console;
namespace HelloWorld
{
public class Program
{
public static void Main(string[] args)
{
WriteLine("Hello world");
}
}
}
答案 0 :(得分:3)
Console
不是名称空间,而是类。 WriteLine
是该类的静态方法(因此您不需要实例来使用它)。实际上,Console
类本身似乎是静态的(因此没有实例)。
你不能在{C#5.0及更早版本中using
一个类。根据这篇MSDN文章(http://msdn.microsoft.com/en-us/magazine/dn683793.aspx),可以只在C#6.0中使用静态类来执行此操作(您编写的代码将编译和工作)。
MSDN用于Console
类。
答案 1 :(得分:2)
目前,using
语句仅包含名称空间。由于Console
不是命名空间,因此不能像那样使用它。
这是C#6中包含的功能之一,请参阅relevant Roslyn page:
-----------------------------------------------------------------
| Feature | Example | C# |
------------------------------------------------------------------
| Using static members | using System.Console; … Write(4) | Done |
------------------------------------------------------------------