我什么时候会在使用指令上使用别名?

RJP*_*RJP 5 c#

所以我正在阅读MSDN文档并遇到:

http://msdn.microsoft.com/en-us/library/sf0df423.aspx

使用using指令的别名有什么实际用途?

我得到了什么,我只是不明白为什么我想要使用它.

Ser*_*rvy 9

如果在两个不同的命名空间中有一个同名的类,这将非常有用.当发生这种情况时,你有两个选择. using一个名称空间而不是另一个名称空间(意味着使用另一个名称空间的完全限定名称),或者using通常using使用一个名称空间,使用别名使 由于别名比完全限定名称短,因此更容易和更方便.

显然,最好的选择是在不同的命名空间中不要使用同名的公共类,特别是如果有人想要在同一个类中使用它们.


ion*_*den 5

例如,您可能在类2中使用具有相同名称但位于不同名称空间的其他类.例如:

 using TextBoxForms = System.Windows.Forms.TextBox
 using TextBoxWeb = System.Web.UI.WebControls.TextBox
Run Code Online (Sandbox Code Playgroud)


Mat*_*hew 5

我喜欢将其用于泛型,因为有时将它们写出来可能很罗word。

using NatMap = System.Collections.Generic.Dictionary<IPAddress, IPAddress[]>;
...
NatMap natMap = new NatMap();
Run Code Online (Sandbox Code Playgroud)

使用功能时:

void PrintNat(NatMap natMap) {
    foreach (IPAddress[] addresses in natMap) {
        foreach (IPaddress address in addresses) {
            // bla bla bla
        }
    }
}
Run Code Online (Sandbox Code Playgroud)