スポンサーリンク

[VisualBasic]コレクションの中をFOR EACH文でループ処理

VisualBasic辞典

VB.net/VB2017/VB2019

FOR EACH文を使ってコレクション内のオブジェクトを処理

繰り返し処理をしてコレクションの中のオブジェクトを一つずつ取り出し、操作したいという処理はプログラミンをしているの中で数多く出てきます。

通常のFor文のループでも行う事ができますが、For Each文のステートメントを使うとコンパクトにまとめる事が出来ますし、慣れてしまうと大変便利です。

For Each文によるコレクションに対するループ

For Each オブジェクトの型の変数 In コレクションや配列
  処理
Next

コレクションや配列の中をループ1周ごとに一つずつ取り出し、用意した変数の中へ自動的に格納してくれます。

ループする回数はコレクションの中のオブジェクトの数と同じになります。

使い方の例

コンボボックスを配置したフォーム

コンボボックスの中のアイテム(リスト)を参照します。

Dim sTmp As String  'アイテムを格納する変数

'コンボボックスのアイテム数ループ
For Each sTmp In ComboBox1.Items

  'ループ毎にsTmpには自動的に代入されている
  'メッセージ表示して確認
  MessageBox.Show(sTmp)
Next

色々なオブジェクトをもったコレクション配列を対象とする事ができます。

注意が必要なのは、コレクションの中のオブジェクトの型とそれを格納する変数は同じ型か、もしくは格納する事のできるクラスでないといけません。

 

タイトルとURLをコピーしました