Visual Basic 中学校 > VB.NET サンプル >
For Each 〜 Nextを使用したくり返し
ここではFor Each 〜 Nextを使用したくり返しのサンプルを紹介します。
Do 〜 Loopを使用したくり返しのサンプルはDo 〜 Loopを使用したくり返しを参照してください。
For 〜 Nextを使用したくり返しのサンプルはFor 〜 Nextを使用したくり返しを参照してください。
くり返し処理についての説明は初級講座第7回 繰り返し処理を参照してください。
コレクションの列挙についての説明は初級講座第28回 コレクションを参照してください。
以下の例ではコレクションArの内容をメッセージボックスに順に表示する。
Dim Ar As New ArrayList
Ar.Add("アメンボ")
Ar.Add("イワシ")
Ar.Add("ウドン")
For Each St As String In Ar
MsgBox(St)
Next■リスト1
以下の例でもコレクションArの内容をメッセージボックスに順に表示する。VB.NET2003以上を使用している場合は上述の例の方が好ましい。
Dim Ar As New ArrayList
Ar.Add("アメンボ")
Ar.Add("イワシ")
Ar.Add("ウドン")
Dim St As String
For Each St In Ar
MsgBox(St)
Next■リスト2
以下の例では配列Arの内容をメッセージボックスに順に表示する。
Dim Ar(2) As String
Ar(0) = "アメンボ"
Ar(1) = "イワシ"
Ar(2) = "ウドン"
For Each St As String In Ar
MsgBox(St)
Next■リスト3
以下の例でも配列Arの内容をメッセージボックスに順に表示する。VB.NET2003以上を使用している場合は上述の例の方が好ましい。
Dim Ar(2) As String
Ar(0) = "アメンボ"
Ar(1) = "イワシ"
Ar(2) = "ウドン"
Dim St As String
For Each St In Ar
MsgBox(St)
Next■リスト4
以下の例では配列Arの内容をメッセージボックスに順に表示する。「ン」で終わるものがあった場合はその時点でループを終了する。
Dim Ar As New ArrayList
Ar.Add("アヤトリ")
Ar.Add("リンゴ")
Ar.Add("ゴリラ")
Ar.Add("ラドン")
Ar.Add("ンジャメナ")
For Each St As String In Ar
MsgBox(St)
'「ン」で終わるものがあったらループを終了する。
If Strings.Right(St, 1) = "ン" Then
Exit For
End If
Next■リスト5
メモ:この例が示しているようにExit Forを使用するとNextの次の行にジャンプします。
以下の例でも配列Arの内容をメッセージボックスに順に表示する。「ン」で終わるものがあった場合はその時点でループを終了する。
Dim Ar As New ArrayList
Dim St As String
Ar.Add("アヤトリ")
Ar.Add("リンゴ")
Ar.Add("ゴリラ")
Ar.Add("ラドン")
Ar.Add("ンジャメナ")
For Each St In Ar
MsgBox(St)
'「ン」で終わるものがあったらループを終了する。
If Strings.Right(St, 1) = "ン" Then
Exit For
End If
Next■リスト6
メモ:この例が示しているようにExit Forを使用するとNextの次の行にジャンプします。
以下の例ではフォームに直接配置されているコントロールのうちButton以外ものを使用不可にする。
For Each o As Control In Me.Controls
If TypeOf o Is Button Then
Continue For
End If
o.Enabled = False
Next■リスト7
メモ:この例が示しているようにContinue Forを使用するとForの次の行にジャンプします。
以下で紹介する例はそのままではVB.NET2002では使用できないが、変数の宣言を独立させるだけで使用可能になる。
フォームに直接配置されているコントロールを列挙してEnabledプロパティをFalseにする例
For Each o As Control In Me.Controls
o.Enabled = False
Next■リスト8
C:\Windowsフォルダにある全ファイル名をListBoxに表示する例
サンプルの実行に必要なもの ListBox1 フォームにListBoxを配置してください。
For Each FileName As String In IO.Directory.GetFiles("C:\Windows")
ListBox1.Items.Add(FileName)
Next■リスト9
Integer構造体(Int32構造体)の全メソッド名とそのパラメータ数をListBoxに表示する例
サンプルの実行に必要なもの ListBox1 フォームにListBoxを配置してください。
Dim St As String
For Each Info As Reflection.MethodInfo In GetType(Integer).GetMethods
St = Info.Name
St &= "(" & Info.GetParameters.Length & ")"
ListBox1.Items.Add(St)
Next■リスト10
現在開いているすべてのフォームの名前をListBoxに表示する例
サンプルの実行に必要なもの ListBox1 フォームにListBoxを配置してください。
For Each f As Form In Application.OpenForms
ListBox1.Items.Add(f.Name)
Next■リスト11