ヘッダー
Visual Basic 中学校 サンプル
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応

 

配列とArrayListを変換する

コレクションや配列の変換はループ処理を使用することでどのようにでも操作することができる。ここではループによらない方法を紹介する。

1.配列をArrayListに変換する例

以下の例では、配列Valuesの内容をArrayList型の変数Arにコピーする。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応

Dim Values(4) As String

Values(0) = "アメンボ"
Values(1) = "イノシシ"
Values(2) = "ウマ"
Values(3) = "エリマキトカゲ"
Values(4) = "オタマジャクシ"

Dim Ar As New ArrayList(Values)

 

2.Button型の要素を持つ配列から、各ButtonのTextプロパティの値を持つArrayListを取得する例

以下の例では、Button型の要素を持つ配列Valuesから、各ButtonTextプロパティの値のArrayListを作成して変数Arにコピーする。

VB2008対応

Dim Values(2) As Button

Values(0) = Button1
Values(1) = Button2
Values(2) = Button3

Dim
Ar As ArrayList

Ar = New ArrayList((From o As Button In Values Select o.Text).ToArray)

メモ:もっとスマートな方法をご存知の方はぜひ掲示板にてご一報ください。

 

3.ArrayListを配列に変換する例

以下の例では、ArrayList型の変数Arの内容を配列Valuesにコピーする。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応

Dim Ar As New ArrayList

Ar.Add("アメンボ")
Ar.Add("イノシシ")
Ar.Add("ウマ")
Ar.Add("エリマキトカゲ")
Ar.Add("オタマジャクシ")

Dim
Values() As
String

Values = DirectCast(Ar.ToArray(GetType(String)), String()) 'ArrayListの要素の型に応じて引数を変える。

 

4.Button型の要素を持つArrayListから、各ButtonのTextプロパティの値の配列を取得する例

以下の例では、Button型の要素を持つArrayList型の変数Arから、各ButtonTextプロパティの値の配列Valuesにコピーする。

VB2008対応

Dim Ar As New ArrayList

Ar.Add(Button1)
Ar.Add(Button2)
Ar.Add(Button3)

Dim
Values() As
String

Values = (From o In Ar Select DirectCast(o, Button).Text).ToArray

メモ:もっとスマートな方法をご存知の方はぜひ掲示板にてご一報ください。