0

以下のコードには、関数 CreatePage への Thumbs という名前のパラメータがあります。親指は配列リストです。私の質問は、arraylist の親指を 15 の部分に分割し、親指 (1-15)、親指 (16-30)、親指 (31-45) などで関数を呼び出すことができるかどうかを知っているかどうかです。arraylist が空になるまで。

html.CreatePage(txtTitleTag.Text, txtText.Text, "index", txtDirectory.Text & "\", thumbs,  txtMetaDesc.Text, txtMetaKeywords.Text, "test.com", "test2.com",  BackgroundColor, FontColor)
4

1 に答える 1

1

まず、からに切り替えArrayListますList(Of String)ArrayList.NET 2.0ではすでに古くなっていたため、強い型付けから多くのメリットが得られます。

次に、List:をチャンク化するメソッドを次に示します。

<System.Runtime.CompilerServices.Extension()>
Public Function Chunk(Of T)(ByVal this As List(Of T), ByVal length As Integer) As List(Of List(Of T))
    Dim result As New List(Of List(Of T))
    Dim current As New List(Of T)

    For Each x As T In this
        current.Add(x)

        If current.Count = length Then
            result.Add(current)
            current = New List(Of T)
        End If
    Next

    If current.Count > 0 Then result.Add(current)

    Return result
End Function

ここでFor Each、チャンクを反復処理するループを使用します。

For Each chunk As List(Of String) In myList.Chunk(15)
    'Call the function and pass chunk as an argument
Next

Voilà!

于 2012-04-29T15:37:13.590 に答える