0

这是 KeyValuePair 中 foreach 的任何 Next 函数吗?

foreach (KeyValuePair<string, List<class>> KPV in dic )
{  }

或者唯一的解决方案是使用带有计数器的传统 for 循环

4

2 回答 2

3

阅读MSDN 字典类

表示键和值的集合。

在遍历字典时,您使用KeyValuePair Structure,它表示一对键(此处string)和值(此处List<T>)。因此,如果打算List<T>在每一对中循环,则需要访问KeyValuePair.Value 属性

foreach (KeyValuePair<string, List<object>> KPV in dic)
{
    foreach (object v in KPV.Value)
    {

    }
}

我也替换List<class>List<object>, 因为绝对class不是类型的可能名称。

如果每个KeyValuePair.Key 属性值不重要,您可以遍历Dictionary.Values 属性

foreach (List<object> values in dic.Values)
{
    foreach (object v in values)
    {

    }
}
于 2013-01-03T05:26:47.297 回答
1

KeyValuePair<TKey, TValue>如果对象在对象内部,则可以枚举Dictionary<TKey, TValue>对象。

在 aDictionary中,您可以使用Dictionary.Enumerator公开Dictionary.Enumerator.MoveNext()方法的结构,这可能是您正在寻找的“下一步”功能。

如果您能告诉我们您打算在该foreach代码块中做什么,那就太好了。

于 2013-01-03T05:39:31.393 回答