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 つの名前を追加しました。

固定サイズの配列

固定サイズの配列は、固定数の要素を保持します。 これは、定義中に保持する要素の数を定義する必要があることを意味します。 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) ツールバーの [開始] ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。

配列の内容の取得

以下のコードを使用しました。

配列の内容の取得

コードの説明:

  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) ツールバーの [開始] ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。

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

以下のコードを使用しました。

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

コードの説明:

  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 ループを終了し、コードの次の部分にジャンプします。
  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 ループを終了し、コードの次の部分にジャンプします。
  15. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  16. サブ手順の終了。
  17. モジュールの終わり。

アレイの削除

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

配列を削除するには、配列の名前を指定して Erase ステートメントを呼び出すだけです。 例えば:

Dim nums(1) As Integer
        nums(0) = 12
        nums(1) = 23
Erase nums

nums という名前の整数の配列を宣言し、それに XNUMX つの要素を追加しました。 Erase nums ステートメントは配列を消去します。

スプリット機能

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) ツールバーの [開始] ボタンをクリックしてコードを実行します。次のウィンドウが表示されます。

スプリット機能

以下のコードを使用しました。

スプリット機能

コードの説明:

  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) ツールバーの「開始」ボタンをクリックしてコードを実行します。

結合機能

以下のコードを使用しました。

結合機能

コードの説明:

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

まとめ

  • 配列は、同じデータ要素に属するデータ要素を格納するために使用されます。 データ・タイプ.
  • 動的配列を使用すると、ユーザーはさらに要素を追加してサイズを変更できます。 コマンドを使用します 既存の配列に要素を追加するための ReDim
  • 固定サイズの配列のサイズは変更できません。
  • 配列要素はインデックスを使用して順序付けされます。最初の要素はインデックス 0 にあり、最後の要素はインデックス n-1 にあります。ここで、n は配列要素の総数です。
  • Erase 関数を使用して配列を削除できます
  • 分割関数と結合関数を使用して、それぞれ文字列配列を分割または結合できます。