在 c# 中是否有等效的 typedef

本文关键字:typedef 是否 | 更新日期: 2023-09-27 17:56:44

即类似

typedef Dictionary<string, string> mydict;

发誓我见过它,但找不到它

在 c# 中是否有等效的 typedef

using MyDict = Dictionary<String, String>这就像定义一个将被编译器替换的符号。

有点。

using IntList = System.Collections.Generic.List<int>;

http://arbel.net/2004/07/07/the-hidden-c-typedef/

一个问题是没有办法 #include 定义。

使用继承:

public class DoubleNameValueCollection : Dictionary<string,> { }

然后像 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" }
    }}};   

在 C# 中没有等效的 typedef,但是你可以使用"using"作为别名。

有一个委托,用于定义一种方法参数,

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

但是,using 语句仅在当前文件中有效。