我正在尝试迭代,并使用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根本没有增加,而且每个块的最后一个完全被传递。
我没有收到任何错误,因此这是一个逻辑问题,而不是语法问题。希望我在这里提供了一些足够的信息来帮助你!
答案 0 :(得分:0)
我同意这些评论,看来内部循环没有被访问 - 你可以通过调试器中的代码来检查。
此外,在VB中,循环中的变量不会重置为0,因此innerCnt将包含循环的总次数,而不是每个条目的总次数。如果这不是您想要的,那么在内循环之前需要innerCnt = 0.
注意:这是设计使然,但它是C#的相反行为。
答案 1 :(得分:0)
字典是空的,因为feildname变量被不正确地创建。感谢大家的帮助。