vbでforeachループを使用するときに、ゼロ以外のインデックスから開始する方法はありますか?
試行すると、「入力文字列が正しい形式ではありませんでした」というエラーが表示されました。
For Each segment As String in p
If not p(0) Then
LINQのEnumerable.Skipメソッドを使用して、リストを反復処理する前にリストを減らすことができます。
For Each segment As String in p.Skip(1)
...
Next
for each
ループとループの違いを誤解していると思いますfor
。
for each
配列内の各要素を通過し、配列
for
のインデックスをステップスルーします
for i = 0 to p.size //change 0 to the index you want to start
p(i)
...
next
これにより、最初の要素がスキップされます。
for each segment as string in p.Skip(1)
. . . .
next
最初の5つの要素をスキップしたい場合. . . in p.Skip(5)
Skipメソッドよりも具体的にするために、特定の条件下で渡された関数のみを呼び出すラムダを作成できます。
ラムダはforeachループのように列挙しますが、条件をチェックするための引数としてラムダに渡されたデリゲートも呼び出します。
またはp
のようなインデクサーがあると仮定しますArray
IList
For i As Integer = 1 To p.Count - 1
p(i)
Next
これは、標準を使用していることを前提としていますOption Base 0