我有一个字典声明如下:
public:
static Dictionary<String ^, List<String ^>^> ^ language_string_table;
所以通过使用每个循环键并将值加载到其中(由其他人写入)。现在我需要通过对每个循环使用相同的内容我能够单独访问Dictionary的“key”,请帮助我如何访问Dictionary的“value”。
答案 0 :(得分:4)
for each(KeyValuePair<String^, List<String^>^ kvp in dictionary)
{
String^ key = kvp->Key;
List<String^>^ value = kvp->Value;
}
答案 1 :(得分:1)
您正在询问IEnumerator
界面的基本用法
你的答案是:
Dictionary<String ^, List<String ^>^> ^ language_string_table;
Dictionary<String ^, List<String ^>^>::Enumerator etor = language_string_table->GetEnumerator();
while(etor.MoveNext())
{
String^ ss = etor.Current.Key;
List<String ^>^> ^ list = etor.Current.Value;
}
//if you just want to get keys or values only
Dictionary<String ^, List<String ^>^>::KeyCollection::Enumerator keytor = language_string_table->Keys->GetEnumerator();
while(etor.MoveNext())
{
String^ ss = keytor.Current;
}
但我强烈建议你学习迭代器的概念。
此处还有C ++ / CLI中的for each用法。
答案 2 :(得分:0)
你的问题不是很清楚。
如果您只想在键上循环,请使用language_string_table->Keys
。如果您只想循环使用值,请使用language_string_table->Values
。如果您想获取密钥的值,请使用language_string_table->default[key]
。