ヘッダー
Visual Basic サンプル集
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

配列の要素の数を取得する

2021/10/17

→ C# のサンプルに切り替える

 

概要

要素の数は Lengthプロパティで取得できます。インデックスの最大値はUBound関数で取得できます。以下に例を示します。

メモ:n次元配列の各次元の要素数は必ず同じです。配列の配列(=ジャグ配列)では子要素の配列の要素数がそれぞれ異なる場合がありえます。

 

1次元配列の要素の数を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values() As String = {"アメンボ", "イノシシ", "ウマ"}
Dim count As Integer

count = values.Length
Debug.WriteLine(count) '3 と出力されます。

Debug.WriteLineが表示される場所

 

Countメソッドでも取得できます。

VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values() As String = {"アメンボ", "イノシシ", "ウマ"}
Dim count As Integer

count = values.Count
Debug.WriteLine(count) '3 と出力されます。

Debug.WriteLineが表示される場所

 

 

1次元配列のインデックスの最大値を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values() As String = {"アメンボ", "イノシシ", "ウマ"}
Dim count As Integer

count = UBound(values)
Debug.WriteLine(count) '2 と出力されます。

Debug.WriteLineが表示される場所

 

参考:以下の例を実行すると出力ウィンドウにすべての要素が表示されます。表示されるのは「アメンボ」、「イノシシ」、「ウマ」です。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values() As String = {"アメンボ", "イノシシ", "ウマ"}
For i As Integer = 0 To UBound(values)
   Debug.WriteLine(values(i))
Next

Debug.WriteLineが表示される場所

 

参考:インデックスの最大値を明示しなくてもすべての要素を出力できます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values() As String = {"アメンボ", "イノシシ", "ウマ"}
For Each item As String In values
    Debug.WriteLine(item)
Next
Debug.WriteLineが表示される場所

 

 

多次元配列の次元数を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values(,) As String = {{"アメンボ", "イノシシ", "ウマ"},
                           {"Apple", "Banana", "Cat"}}
Dim rank As Integer
rank = values.Rank
Debug.WriteLine(rank) '2 と出力されます。

Debug.WriteLineが表示される場所

 

 

多次元配列の全要素数を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values(,) As String = {{"アメンボ", "イノシシ", "ウマ"},
                           {"Apple", "Banana", "Cat"}}
Dim count As Integer
count = values.Length

Debug.WriteLine(count) '6 と出力されます。

Debug.WriteLineが表示される場所

 

 

指定した次元にある要素の数を取得する

以下の例を実行すると2次元目の要素数である「3」が表示されます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim values(,) As String = {{"アメンボ", "イノシシ", "ウマ"},
                           {"Apple", "Banana", "Cat"}}
Dim count As Integer
'0からカウントするので2次元目の要素数を取得したい場合は1を指定する。
count = values.GetLength(1)

Debug.WriteLine(count) '3 と出力されます。

Debug.WriteLineが表示される場所

 


VB6対応 VB6では UBound が使えます。

 

改訂履歴

不明2002年~2019年の間。

  • 初版

2020/5/26

  • 全面改訂

2021/10/17

  • 一次元配列のインデックスの最大値を取得する例の間違いを訂正。UBoundを使用すべきところがLengthになってしまっていました。
  • 目次と改訂履歴を追加
  • 記述のシンプル化やレイアウトの整理など。