通过VB.net中的字典列表进行迭代

时间:2012-11-29 21:02:13

标签: vb.net

我正在尝试迭代,并使用ListServiceUtility.GetListItemData方法从通过调用sharepoint填充的dictionairy中获取值。我的代码如下所示

actualList = ListServiceUtility.GetListItemData(Test_Sharepointsite_url, myCred, Test_List_Name, Nothing, fieldNames, <Query/>, isRecursive, pagingSize)

For Each Entry As Dictionary(Of String, String) In actualList

            Debug.WriteLine(cnt)
            cnt += 1

            For Each pair In Entry
                Debug.WriteLine(innerCnt)
                innerCnt += 1
                Debug.WriteLine("Key:" & pair.Key & " Value:" & pair.Value)
            Next
        Next
正如我预期的那样,cnt上升到4,因为我的sharepoint列表中有4个条目,但是,innerCnt根本没有增加,而且每个块的最后一个完全被传递。

我没有收到任何错误,因此这是一个逻辑问题,而不是语法问题。希望我在这里提供了一些足够的信息来帮助你!

2 个答案:

答案 0 :(得分:0)

我同意这些评论,看来内部循环没有被访问 - 你可以通过调试器中的代码来检查。

此外,在VB中,循环中的变量不会重置为0,因此innerCnt将包含循环的总次数,而不是每个条目的总次数。如果这不是您想要的,那么在内循环之前需要innerCnt = 0.

注意:这是设计使然,但它是C#的相反行为。

答案 1 :(得分:0)

字典是空的,因为feildname变量被不正确地创建。感谢大家的帮助。

相关问题