Karenina的做法类似:
这两种情况中,首先都是公司名称,后面跟随一个产品名称。在使用这些库的程序中,您可以使用完全合格的名称引用所需的特定的SuperString类:
BovaryEnterprise.VeryUsefulLibrary.SuperString
或
KareninaSoftware.HandyDandyLibrary.SuperString
是的,虽然键入的字符的数量很多,但它是一种很有效的方法。
如果还没有一种减少键入人工作的方法,那么这种名称空间的特性就相当的不利。这就是using关键字的用途。一旦在using语句指定一个名称空间,您就可以避免通过键入那个空间名称来引用其中的类。下面是另一种形式的C# HelloWorld程序:
对于使用两个不同的SuperString类的项目,using关键字包括了一个非常用帮助的别名特性:
using Emma=Bovary.VeryUsefulLibrary;
using Anna=Karanina.HandyDandyLibray;
现在您可以向这样引用这两个类:
Emma.SuperString
和
Anna.SuperString
有关using特性的更多细节,请查阅C#语言参考。
.NET Framework定义了90多个以单词System开始的名称空间和5个以单词Microsoft开始的名称空间。本篇最重要的名称空间是System本身。包含许多有关图形的类的Sytem.Drawing和System.Windows.Forms。
名称空间甚至允许您为已经在.NET Framework 中使用类赋予自己的名称。.NET Framework也重用一些类名。例如,它包含三个名为“Timer”的类。您可以以在名称System.Timer、Sytem.Threading和System.Windows.Forms中找到这三个类。
对于没有使用名称空间定义的类(比如我的程序中的ConsoleHelloWorld和ConsoleHelloWithUsing),将出现什么情况呢?那些类名将进入一个“全局名称空间”。对于我的程序这样的自包含的小程序,这不是问题。不过,无论我何时在本篇中定义一个在其他人的程序中有用的类,我将其放在名称空间youhaoxinqin.ProgrammingWindowsWithCsharp中