VBの構造体(Structure)について
Visual Basic(VB)における 構造体(Structure) は、複数の異なるデータ型を1つにまとめて管理できるデータ構造です。1人の生徒に「名前・年齢・得点」といった情報があるように、関連するデータをセットで扱いたいときに便利です。
構造体の基本構文
構造体は Structure 〜 End Structure
のブロックで定義します。中にプロパティや変数を定義できます。
Structure Student
Public Name As String
Public Age As Integer
Public Score As Double
End Structure
上記の構造体は、名前・年齢・得点を持つ「生徒」という1つの型を定義しています。
構造体の利用方法
定義した構造体は変数として宣言し、各フィールドに値を代入して使います。
Dim s As Student
s.Name = "田中"
s.Age = 12
s.Score = 89.5
MsgBox s.Name & "さんの点数は " & s.Score & " 点です"
構造体の初期化
構造体を作成してすぐに初期値を設定するには、With構文を使うこともできます。
Dim s As Student = New Student With {
.Name = "佐藤",
.Age = 13,
.Score = 92.0
}
構造体とクラスの違い
構造体(Structure)とクラス(Class)は似ていますが、以下のような違いがあります。
項目 |
Structure |
Class |
インスタンス化 |
New しなくても使える |
New が必要 |
参照型 or 値型 |
値型(コピーされる) |
参照型(ポインタで扱われる) |
継承 |
不可 |
可能 |
用途 |
小規模・軽量なデータ構造 |
機能を多く持つオブジェクト |
構造体を配列で使う
構造体は配列として扱うこともできます。複数人のデータをまとめて管理するのに便利です。
Dim students(2) As Student
students(0).Name = "山田"
students(0).Age = 14
students(0).Score = 88.0
構造体の用途例
- 生徒の成績データ
- 商品の情報(名前・価格・在庫)
- 位置情報(X座標・Y座標)
- ログインユーザー情報(ID・名前・権限)
まとめ
構造体(Structure)は、複数の関連する情報を1つにまとめて扱うための便利な仕組みです。値型として動作するため扱いもシンプルで、軽量なデータ構造を手軽に扱いたい場面で活躍します。VBでのデータ設計をスマートにするためにも、構造体を活用してみましょう。