我看了很多C#泛型代码示例,记得见过一个语法声明技巧,可以为长泛型字典类型创建另一种替代的简写类型。结合C#和C++使用时,它是这样的:
typedef MyIndex as Dictionary< MyKey, MyClass>;
这样就可以使用以下内容:
class Foo
{
MyIndex _classCache = new MyIndex();
}
有人能提醒我哪个C#语言特性支持这个吗?
我看了很多C#泛型代码示例,记得见过一个语法声明技巧,可以为长泛型字典类型创建另一种替代的简写类型。结合C#和C++使用时,它是这样的:
typedef MyIndex as Dictionary< MyKey, MyClass>;
class Foo
{
MyIndex _classCache = new MyIndex();
}
有人能提醒我哪个C#语言特性支持这个吗?
这是另一种using指令的形式,用于定义别名。
using MyClass = System.Collections.Generic.Dictionary<string, int>;
namespace MyClassExample
{
class Program
{
static void Main(string[] args)
{
var instanceOfDictionaryStringInt = new MyClass();
}
}
}
using
指令一样处理,并且作用域限定于它们出现的文件中(请参阅:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-directive#remarks)。 - Robusing Test = System.Collections.Generic.Dictionary<int, string>;
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
Test myDictionary = new Test();
myDictionary.Add(1, "One");
}
}
}