2011-05-18 115 views
10

即像是否有相当于c#中的typedef?

typedef Dictionary<string, string> mydict; 

我发誓,我已经看到了它,但无法找到它

+0

顺便说一句:SO不会让我问一个不错的成功问题,它必须更大! – pm100 2011-05-18 17:54:21

+0

我不知道它是否支持泛型类,但是您可以尝试using语句。 http://msdn.microsoft.com/en-us/library/sf0df423(v=vs.80).aspx – 2011-05-18 17:58:46

+0

[在C#中的typedef的等价物]的可能重复(http://stackoverflow.com/questions/161477/等同于typedef-in-c-sharp) – DaveInCaz 2017-01-05 14:48:55

回答

19

using MyDict = Dictionary<String, String>这就像定义这会由编译器来代替的符号。

+0

+1,注意它仅适用于那一个编译范围。 – user7116 2011-05-18 18:01:33

+0

请注意,使用关键字摘要http://msdn.microsoft.com/en-us/library/zhdeatwt.aspx并没有提到这种用法 - 这就是为什么我迷路了 – pm100 2011-05-18 18:14:07

+0

顺便说一句,你得使用全班名 – pm100 2011-05-18 18:26:08

0

在C#中没有typedef的等价物,但是可以使用'using'作为别名。

0

有代表,这是用于定义类型的方法的说法,

using BlaBla = Full.Name.Space.Yada.Yada;

然而,using语句只在当前文件有效。

2

使用继承:

公共类DoubleNameValueCollection:字典<串的NameValueCollection> {}

然后使用就好像它是一个typedef:

NameValueCollection values = new NameValueCollection(); 
values.Add("value1", "value2"); 
DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection(); 
dblNameCol.Add("key1", values); 

或者,如果你想混淆他人:

DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection 
    { 
     { "key1", new NameValueCollection 
      { 
       { "value1", "value2" } 
    }}}; 
+0

更好的名字是NameDoubleValueCollection – guest 2013-03-15 01:51:08

相关问题