VB.Net 配列: 文字列、動的 (例付き)
⚡ スマートサマリー
VB.Netの配列は、同じデータ型の複数の値を、ゼロから始まるインデックスを使用して、1つの変数名に格納します。固定サイズ配列と動的配列の両方がサポートされており、Split関数とJoin関数は文字列と配列間の変換を行います。
配列とは何ですか?
配列は、同じ要素を格納するために使用されるデータ構造です。 データ・タイプ要素は、最初の要素がインデックス 0、最後の要素がインデックス n-1 となるように順番に並べられています。ここで、n は配列内の要素の総数です。
配列を宣言して初期化する方法
In VB.Net、配列は Dim ステートメントを使用して宣言されます。 例えば:
Dim myData() As Integer
上記の例では、myData という名前の配列を定義しており、この配列には整数データ型の要素が格納されます。次の例は、文字列要素を格納する配列を宣言する方法を示しています。
Dim myData(10) As String
10 個の文字列を保持する myData という名前の配列を定義しました。
宣言時に配列を初期化できます。 例えば:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
配列 myData を宣言し、それに 6 つの整数要素を追加しました。 これは文字列の場合にも行うことができます。
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
students という名前の配列を作成し、それに 5 つの名前を追加しました。
VB.Net の配列は、宣言後にサイズを変更できるかどうかによって 2 つのグループに分類されます。最初のグループは固定サイズの配列です。
固定サイズの配列
固定サイズの配列は、固定数の要素を保持します。 これは、定義中に保持する要素の数を定義する必要があることを意味します。 3 人の生徒名のみを保持する配列が必要だとします。 次のように配列を定義して初期化できます。
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
まず、students という名前の文字列配列を宣言します。0 から 2 は、配列がインデックス 0 からインデックス 2 までの要素を格納することを宣言します。つまり、合計で 3 つの要素があることになります。
要素を配列に追加するには、配列名を使用し、要素が格納されるインデックスを指定しました。 たとえば、John という名前は配列のインデックス 0 に格納されます。これは、それが配列の最初の要素を形成することを意味します。 Antony は配列の最後の要素になります。
要素数が事前にわからない場合は、動的配列の方が適しています。
動的配列
これは、任意の数の要素を保持できる配列です。 配列のサイズはいつでも増加する可能性があります。 これは、いつでも配列に新しい要素を追加できることを意味します。 これを示すために、まず整数の配列を定義しましょう。
Dim nums() As Integer
nums という名前の整数配列を定義しました。 次に、配列に XNUMX つの要素を追加し、サイズ変更のための余地を与える必要があります。 次のように ReDim ステートメントを使用する必要があります。
ReDim nums(1)
nums(0) = 12
nums(1) = 23
配列にはインデックス 0 と 1 に 3 つの要素があります。すでに存在する XNUMX つの要素を保持しながら、インデックス XNUMX に XNUMX 番目の要素を追加する必要があります。 次のようにして実行できます。
ReDim Preserve nums(2) nums(2) = 35
配列には XNUMX つの要素が含まれています。
配列に値が格納されたら、次のタスクは配列に格納されている値を読み取ることです。
配列の内容の取得
取得とは、配列要素にアクセスすることを意味します。 配列要素にアクセスするには、そのインデックスを使用します。 例を使用してこれを説明してみましょう。
ステップ1)まず、新しいコンソールアプリケーションを作成します。
ステップ2)アプリケーションに以下のコードを追加します。
Module Module1 Sub Main() Dim students(0 to 2) As String students(0) = "John" students(1) = "Alice" students(2) = "Antony" Console.WriteLine("First student is {0} ", students(0)) Console.WriteLine("Second student is {0} ", students(1)) Console.WriteLine("Third student is {0} ", students(2)) Console.ReadKey() End Sub End Module
ステップ3)ツールバーの「開始」ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。
以下のコードを使用しました。
の説明 Code:
- Module1 という名前のモジュールを作成します。
- メインのサブプロシージャを作成します。
- 文字列要素を格納するためにstudentsという名前の配列を作成します。 配列にはインデックス 0 からインデックス 2 までの要素が格納されます。つまり、合計 3 つの要素があることになります。
- 名前 John を配列の最初の要素として追加します。つまり、John はインデックス 0 に格納されます。
- 名前「Alice」を配列の 1 番目の要素として追加します。つまり、「Alice」はインデックス XNUMX に格納されます。
- Antony という名前を配列の 2 番目の要素として追加します。つまり、Antony はインデックス XNUMX に格納されます。
- いくつかのテキストと、配列 Student のインデックス 0 に格納されている要素をコンソールに表示します。 students(0) は、students という名前の配列のインデックス 0 にある要素にアクセスするのに役立ちます。
- いくつかのテキストと、配列 Student のインデックス 1 に格納されている要素をコンソールに表示します。 students(1) は、students という名前の配列のインデックス 1 にある要素にアクセスするのに役立ちます。
- いくつかのテキストと、配列 Student のインデックス 2 に格納されている要素をコンソールに表示します。 students(2) は、students という名前の配列のインデックス 2 にある要素にアクセスするのに役立ちます。
- コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
- サブ手順の終了。
- モジュールの終わり。
配列への新しい要素の追加
これは、動的配列がある場合にのみ発生します。固定サイズの次元配列を宣言し、配列要素がいっぱいになっている場合は、新しい要素を追加することはできません。次の例は、動的配列に新しい要素を追加する方法を示しています。
ステップ1)まず、新しいコンソールアプリケーションを作成します。
ステップ2)アプリケーションに以下のコードを追加します。
Module Module1 Sub Main() Dim nums() As Integer ReDim nums(1) nums(0) = 12 nums(1) = 23 For x = 0 To nums.Length - 1 Console.WriteLine("Initial array element: {0}", nums(x)) Next ReDim Preserve nums(2) nums(2) = 35 For x = 0 To nums.Length - 1 Console.WriteLine("Final array element: {0}", nums(x)) Next Console.ReadKey() End Sub End Module
ステップ3)ツールバーの「開始」ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。
以下のコードを使用しました。
の説明 Code:
- Module1 という名前のモジュールを作成します。
- メインのサブプロシージャを作成します。
- 整数値を保持するために nums という名前の配列を作成します。
- 上記の配列では、サイズ変更の余地を残しながら、インデックス 0 と 1 の XNUMX つの要素を格納することを指定します。
- 要素 12 を配列 nums のインデックス 0 に追加します。
- 要素 23 を配列 nums のインデックス 1 に追加します。
- for ループを使用して変数 x を作成すると、配列 nums の最初の要素から最後の要素まで反復するのに役立ちます。 配列には 12 つの要素 (23 と XNUMX) があることに注意してください。
- いくつかのテキストと配列の要素をコンソールに表示します。
- forループを終了してジャンプするping コードの次の部分へ。
- インデックス 0 ~ 2 の要素を許可するように配列 nums のサイズを変更します。これで、3 つではなく 2 つの要素を保存できるようになります。Preserve キーワードは、配列の現在の要素、つまり 12 と 23 を維持するのに役立ちます。
- 要素 35 を配列のインデックス 2 に追加します。 配列には 12 つの要素 (23、35、XNUMX) が含まれています。
- for ループを使用して変数 x を作成すると、配列 nums の最初の要素から最後の要素まで反復するのに役立ちます。 配列には 12 つの要素 (23、35、および XNUMX) があることに注意してください。
- いくつかのテキストと配列の要素をコンソールに表示します。
- forループを終了してジャンプするping コードの次の部分へ。
- コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
- サブ手順の終了。
- モジュールの終わり。
アレイの削除
主に動的配列を扱う場合は、配列を使い終わった後、配列を消去することをお勧めします。 これは、メモリ領域を解放するのに役立ちます。
配列を削除するには、配列の名前を指定して Erase ステートメントを呼び出すだけです。 例えば:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
nums という名前の整数の配列を宣言し、それに XNUMX つの要素を追加しました。 Erase nums ステートメントは配列を消去します。
VB.Netは、値を格納するだけでなく、文字列と配列の間で変換を行う組み込み関数も提供しています。その最初のものがSplit関数です。
スプリット機能
Visual Basic .NET の split 関数を使うと、文字列を複数の部分に分割して配列に格納できます。次の例は、この関数の使い方を示しています。
ステップ1)新しいコンソールアプリケーションを作成します。
ステップ2)アプリケーションに以下のコードを追加します。
Module Module1 Sub Main() Dim myarray() As String Dim guru99 As String Dim x As Integer guru99 = "Welcome, to, Guru99" myarray = Split(guru99, ", ") For x = LBound(myarray) To UBound(myarray) Console.WriteLine(myarray(x)) Next Console.ReadKey() End Sub End Module
ステップ3)ツールバーの「開始」ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。
以下のコードを使用しました。
の説明 Code:
- Module1 という名前のモジュールを作成します。
- メインのサブプロシージャを開始します。
- 文字列値を保持するために myarray という名前の配列を作成します。
- guru99 という名前の文字列変数を作成します。
- x という名前の整数変数を作成します。
- 文字列を変数 guru99 に代入します。
- 上記の文字列を部分に分割し、myarray という名前の配列に配置します。 「,」(カンマ) は区切り文字であるため、split 関数はこれを使用して文字列のさまざまな部分の終わりをマークします。
- 変数 x を使用して、myarray という名前の配列を反復処理します。 LBound と UBound は、それぞれ配列の下限と上限を指定します。
- myarray という名前の配列の値をコンソールに出力します。
- forループを終了します。
結合機能
join 関数は、複数の配列を 1 つの文字列に結合するのに役立ちます。次の例はこれを示しています。
ステップ1)まず、新しいコンソールアプリケーションを作成します。
ステップ2)アプリケーションに以下のコードを追加します。
Module Module1 Sub Main() Dim students(0 To 2) As String students(0) = "John" students(1) = "Alice" students(2) = "Antony" Dim classmates As String classmates = Join(students, ", ") Console.WriteLine(classmates) Console.ReadKey() End Sub End Module
ステップ3)ツールバーの「開始」ボタンをクリックしてコードを実行します。
以下のコードを使用しました。
の説明 Code:
- Module1 という名前のモジュールを作成します。
- メインのサブプロシージャを作成します。
- 3 つの文字列値を保持するstudentsという名前の配列を作成します。
- John という名前を配列のインデックス 0 に追加します。
- 名前「Alice」を配列のインデックス 1 に追加します。
- Antony という名前を配列のインデックス 2 に追加します。
- 文字列データ型のクラスメイトという名前の変数を定義します。
- 配列 students のすべての要素を結合し、カンマ (,) で区切ります。この操作の結果は変数 classmates に代入されます。
- クラスメイト変数の内容をコンソールに出力します。
- コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
- メインのサブプロシージャを終了します。
- モジュールを終了します。








