你们中的任何人请告诉我如何使用“=”运算符重载包含关联数组的列表。C++/CLI 是我正在使用的语言。
我想实现这样的目标。
`myList[0]["Key"] = "1";`
myList 在哪里
System::Collections::Generic::List<AssociativeArray<String^> ^> ^myList
你们中的任何人都可以给我一些线索吗?
提前致谢,
彼得 K 约翰
你们中的任何人请告诉我如何使用“=”运算符重载包含关联数组的列表。C++/CLI 是我正在使用的语言。
我想实现这样的目标。
`myList[0]["Key"] = "1";`
myList 在哪里
System::Collections::Generic::List<AssociativeArray<String^> ^> ^myList
你们中的任何人都可以给我一些线索吗?
提前致谢,
彼得 K 约翰
你为什么不直接使用List<Dictionary<String^, String^>^>^
?
已经支持该语法。
但是,如果Dictionary
不满足您的需求(例如,您想要一个 trie 结构而不是哈希表),则索引器实现将如下所示:
generic<typename T>
ref class AssociativeArray
{
// implementation details
// ...
public:
property T default[String^]
{
T get(String^ key)
{
T result;
if (!TryGetValue(key, result)) throw gcnew KeyNotFoundException(key);
return result;
}
void set(String^ key, T val)
{
SetValue(key, val);
}
}
};