今天我看到创建静态字典并初始化它的 C# 代码:
public static readonly Dictionary<string, string> dict = new Dictionary<string, string>()
{
{"br","value1"},
{"cn","value2"},
{"de","value3"},
};
但是当我决定为 C++/CLI 编写相同的代码时,发生了错误。这是我的尝试:
static System::Collections::Generic::Dictionary<System::String^, System::String^>^ dict = gcnew System::Collections::Generic::Dictionary<System::String^, System::String^>( )
{
{"br","value1"},
{"cn","value2"},
{"de","value3"},
};
我可以这样做吗?如果可以,怎么做?
C# 3.0 及更高版本允许用户定义“初始化程序”;对于集合来说,这是一系列元素,对于字典来说,它被简化为键和值。据我所知,C++.NET 没有这种语言功能。看看这个问题:非常相似:托管 C++ 中的数组初始化 https://stackoverflow.com/questions/834903/array-initialization-in-managed-c。数组初始值设定项是 C++ 中唯一的此类初始值设定项;其他集合不提供 C++ 版本。
基本上,您的主要选择是声明一个静态构造函数并在其中初始化您的字典。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)