C ++ CLI Collection初始化语法

时间:2009-12-17 19:14:15

标签: c++-cli

C ++ CLI是否支持此功能?我想在C ++ CLI中执行类似下面的C#示例

var dictionary = new Dictionary<string, string> { { "foo", "bar" } };

由于

3 个答案:

答案 0 :(得分:2)

我想出的最好的方法是创建一个内联初始化的数组,然后在静态构造函数中使用数组的内容初始化字典。像

这样的东西
static initonly System::Collections::Generic::Dictionary<System::String^, System::String^>^ dictionary;
static initonly array<System::String^> arrayToPopulateDictionary = gcnew array<System::String^> { "foo", "bar" };

static Foo()
{
    for (int i  = 0; i < arrayToPopulateDictionary->Length; i += 2)
        listMappings->Add(arrayToPopulateDictionary[i], arrayToPopulateDictionary[i + 1]));
}

答案 1 :(得分:0)

除非我非常错误,否则这根本不可能。

答案 2 :(得分:0)

C++0x中肯定是可能的,无论是否转换为C ++ / CLI都是未知的(应该这样做)。