VB.NETの構造体のサンプルです。
目次
説明 | 構造体 |
サンプル | 構造体を配列にセットする |
構造体でコンストラクタを使用する | |
構造体でメソッドを使用する |
構造体
Structure 名称 値や処理等 End Structure |
- データをまとめることができます。
- コンストラクタやメソッドも使用できます。
- クラスと違い継承できません。
- 構造体は new 演算子を使用せずにインスタンス化できます。
- newすることも可能です。その場合コンストラクタを使用できます。
- 構造体は値型で、クラスは参照型です。
構造体のサンプルです。
Structure test1
Public id As Integer
Public name As String
Public sikaku() As String
End Structure
Module Module1
Sub Main()
Dim t1 As test1
t1.id = 1
t1.name = "suzuki"
t1.sikaku = {"基本", "応用"}
Console.WriteLine(t1.id) ' 1
Console.WriteLine(t1.name) ' suzuki
Console.WriteLine(t1.sikaku(0)) ' 基本
Console.WriteLine(t1.sikaku(1)) ' 応用
End Sub
End Module
1~5行目は、構造体です。1行目にStructureがあります。
2~4行目は、変数です。4行目は配列です。
8行目は、構造体の変数です。
10~12行目は、構造体の変数に値をセットしています。12行目は配列に値をセットしています。
13~16行目は、構造体の値を表示しています。
構造体を配列にセットする
構造体を配列にセットするサンプルです。
Structure test1
Public id As Integer
Public name As String
End Structure
Module Module1
Sub Main()
Dim arr(1) As test1
arr(0).id = 1
arr(0).name = "鈴木"
arr(1).id = 2
arr(1).name = "田中"
Console.WriteLine(arr(0).id) ' 1
Console.WriteLine(arr(0).name) ' 鈴木
Console.WriteLine(arr(1).id) ' 2
Console.WriteLine(arr(1).name) ' 田中
End Sub
End Module
1行目は、構造体です。
8行目は、構造体の配列です。(1)は、添字の0と1をセットできます。
10行目からは構造体の配列に値をセットしています。
構造体でコンストラクタを使用する
構造体でコンストラクタを使用するサンプルです。
Structure test1
Public id As Integer
Public name As String
Sub New(num As Integer)
id = num
End Sub
End Structure
Module Module1
Sub Main()
Dim t1 As New test1(100)
t1.name = "tanaka"
Console.WriteLine(t1.id) ' 100
Console.WriteLine(t1.name) ' tanaka
End Sub
End Module
5行目は、構造体のコンストラクタです。引数を取得して変数に値をセットします。
12行目は、コンストラクタの引数に数値を設定しています。
14行目は、コンストラクタで設定した値を表示しています。
構造体でメソッドを使用する
構造体でメソッドを使用するサンプルです。
Structure test1
Public id As Integer
Public name As String
Function GetName()
Return "こんにちは"
End Function
End Structure
Module Module1
Sub Main()
Dim t1 As New test1
Console.WriteLine(t1.GetName) ' こんにちは
End Sub
End Module
4行目は、メソッドです。Functionで値を返します。
12行目は、構造体のメソッドを実行して値を表示します。
以下は、Microsoftの構造体とクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/data-types/structures-and-classes
関連の記事
VB.NET入門 クラスの仕組みとサンプル
VB.NET クラスの継承の仕組みとサンプル
VB.NET コンストラクタのサンプル