VB.Net 配列: 文字列、動的 (例付き)

⚡ スマートサマリー

VB.Netの配列は、同じデータ型の複数の値を、ゼロから始まるインデックスを使用して、1つの変数名に格納します。固定サイズ配列と動的配列の両方がサポートされており、Split関数とJoin関数は文字列と配列間の変換を行います。

  • 🔘 配列の基本: 配列は、1つのデータ型の要素を順序付けして格納します。最初の要素はインデックス0にあり、最後の要素はインデックスnマイナス1にあります。
  • ☑️ 宣言: Dim ステートメントは、Dim myData() As Integer のように配列を宣言し、要素は中括弧内で初期化できます。
  • 固定 vs 動的: 固定サイズの配列は一定数の要素を保持しますが、動的配列は ReDim および ReDim Preserve ステートメントを使用して拡張されます。
  • 🧪 アクセスと削除: 要素はインデックスによって読み込まれ、erase文は配列を削除してメモリを解放します。
  • 🛠️ 分割と結合: Split関数は文字列を配列に分割し、Join関数は配列の要素を1つの文字列に結合します。
  • 🤖 AI支援: GitHub CopilotとIntelliCode Visual Studio 2026では、平易な英語のプロンプトから配列宣言、ループ、およびSplitまたはJoin呼び出しを生成します。

VB.Net 配列

配列とは何ですか?

配列は、同じ要素を格納するために使用されるデータ構造です。 データ・タイプ要素は、最初の要素がインデックス 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:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを作成します。
  3. 文字列要素を格納するためにstudentsという名前の配列を作成します。 配列にはインデックス 0 からインデックス 2 までの要素が格納されます。つまり、合計 3 つの要素があることになります。
  4. 名前 John を配列の最初の要素として追加します。つまり、John はインデックス 0 に格納されます。
  5. 名前「Alice」を配列の 1 番目の要素として追加します。つまり、「Alice」はインデックス XNUMX に格納されます。
  6. Antony という名前を配列の 2 番目の要素として追加します。つまり、Antony はインデックス XNUMX に格納されます。
  7. いくつかのテキストと、配列 Student のインデックス 0 に格納されている要素をコンソールに表示します。 students(0) は、students という名前の配列のインデックス 0 にある要素にアクセスするのに役立ちます。
  8. いくつかのテキストと、配列 Student のインデックス 1 に格納されている要素をコンソールに表示します。 students(1) は、students という名前の配列のインデックス 1 にある要素にアクセスするのに役立ちます。
  9. いくつかのテキストと、配列 Student のインデックス 2 に格納されている要素をコンソールに表示します。 students(2) は、students という名前の配列のインデックス 2 にある要素にアクセスするのに役立ちます。
  10. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  11. サブ手順の終了。
  12. モジュールの終わり。

配列への新しい要素の追加

これは、動的配列がある場合にのみ発生します。固定サイズの次元配列を宣言し、配列要素がいっぱいになっている場合は、新しい要素を追加することはできません。次の例は、動的配列に新しい要素を追加する方法を示しています。

ステップ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:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを作成します。
  3. 整数値を保持するために nums という名前の配列を作成します。
  4. 上記の配列では、サイズ変更の余地を残しながら、インデックス 0 と 1 の XNUMX つの要素を格納することを指定します。
  5. 要素 12 を配列 nums のインデックス 0 に追加します。
  6. 要素 23 を配列 nums のインデックス 1 に追加します。
  7. for ループを使用して変数 x を作成すると、配列 nums の最初の要素から最後の要素まで反復するのに役立ちます。 配列には 12 つの要素 (23 と XNUMX) があることに注意してください。
  8. いくつかのテキストと配列の要素をコンソールに表示します。
  9. forループを終了してジャンプするping コードの次の部分へ。
  10. インデックス 0 ~ 2 の要素を許可するように配列 nums のサイズを変更します。これで、3 つではなく 2 つの要素を保存できるようになります。Preserve キーワードは、配列の現在の要素、つまり 12 と 23 を維持するのに役立ちます。
  11. 要素 35 を配列のインデックス 2 に追加します。 配列には 12 つの要素 (23、35、XNUMX) が含まれています。
  12. for ループを使用して変数 x を作成すると、配列 nums の最初の要素から最後の要素まで反復するのに役立ちます。 配列には 12 つの要素 (23、35、および XNUMX) があることに注意してください。
  13. いくつかのテキストと配列の要素をコンソールに表示します。
  14. forループを終了してジャンプするping コードの次の部分へ。
  15. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  16. サブ手順の終了。
  17. モジュールの終わり。

アレイの削除

主に動的配列を扱う場合は、配列を使い終わった後、配列を消去することをお勧めします。 これは、メモリ領域を解放するのに役立ちます。

配列を削除するには、配列の名前を指定して 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:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. 文字列値を保持するために myarray という名前の配列を作成します。
  4. guru99 という名前の文字列変数を作成します。
  5. x という名前の整数変数を作成します。
  6. 文字列を変数 guru99 に代入します。
  7. 上記の文字列を部分に分割し、myarray という名前の配列に配置します。 「,」(カンマ) は区切り文字であるため、split 関数はこれを使用して文字列のさまざまな部分の終わりをマークします。
  8. 変数 x を使用して、myarray という名前の配列を反復処理します。 LBound と UBound は、それぞれ配列の下限と上限を指定します。
  9. myarray という名前の配列の値をコンソールに出力します。
  10. 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:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを作成します。
  3. 3 つの文字列値を保持するstudentsという名前の配列を作成します。
  4. John という名前を配列のインデックス 0 に追加します。
  5. 名前「Alice」を配列のインデックス 1 に追加します。
  6. Antony という名前を配列のインデックス 2 に追加します。
  7. 文字列データ型のクラスメイトという名前の変数を定義します。
  8. 配列 students のすべての要素を結合し、カンマ (,) で区切ります。この操作の結果は変数 classmates に代入されます。
  9. クラスメイト変数の内容をコンソールに出力します。
  10. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  11. メインのサブプロシージャを終了します。
  12. モジュールを終了します。

よくあるご質問

はい。VB.Netの配列はすべてインデックス0から始まるため、最初の要素はインデックス0に、最後の要素はインデックスn-1に配置されます。下限は常に0であり、変更することはできません。

要素の総数を返す Length プロパティ(例:nums.Length)を使用してください。UBound 関数は最大のインデックスを返します。配列はインデックス 0 から始まるため、UBound は Length - 1 になります。

共有の Array.Sort メソッドを呼び出し、配列を渡します。たとえば、Array.Sort(nums) のように呼び出します。要素をその場で昇順に並べ替えます。Array を使用します。Reverse その後、同じ要素を降順に並べる。

多次元配列(長方形配列)は、括弧内にカンマを使用して行と列にデータを格納します。例:Dim grid(2, 3) As Integer。各行には同じ数の要素が含まれます。

ジャグ配列とは、要素自体が配列である配列であり、各行に異なる数の要素が含まれる可能性があります。これは、Dim data()() As Integer のように、2組の括弧で宣言されます。

配列は作成後にサイズが固定され、サイズ変更するには ReDim が必要です。一方、List(Of T) は自動的にサイズが拡大縮小し、Add、Remove、Sort メソッドを提供するため、要素数が頻繁に変化する場合でも扱いやすくなります。

はい。GitHub Copilotは、平易な英語のコメントを、Dim宣言、ReDimによるサイズ変更、SplitやJoin呼び出しなどを含む完全な配列コードに変換します。提案を受け入れる前に、インデックスとデータ型が正しいかどうかを必ず確認してください。

Yes. Visual Studioの 2026 ペアの GitHub Copilot と IntelliCode 配列ループの自動補完、入力時の範囲外インデックスの警告表示、適切な配列メソッドの提案などにより、プログラム実行前に実行時エラーを削減します。