0

ListServiceUtility.GetListItemDataメソッドを使用してSharePointを呼び出すことで入力された辞書から値を繰り返し取得しようとしています。私のコードは次のようになります

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はまったく増分せず、各ブロックの最後は完全にバイパスされます。

エラーが発生していないので、ここでは論理的な問題であり、構文上の問題ではありません。うまくいけば、私はここで誰かを助けるのに十分な情報を提供しました!

4

2 に答える 2

0

コメントに同意します。内部ループにアクセスしていないようです。デバッガーでコードをステップ実行して確認できますか。

また、VBでは、ループ内の変数は0にリセットされないため、innerCntには、各エントリの通過回数ではなく、ループを通過した合計回数が含まれます。これが希望どおりでない場合は、内部ループの直前にinnerCnt=0が必要になります。

注:これは仕様によるものですが、C#とは逆の動作です。

于 2012-11-30T02:50:33.903 に答える
0

feildname変数が不適切に作成されたため、辞書は空でした。みんな助けてくれてありがとう。

于 2012-12-03T15:07:30.327 に答える