- PR -

【ASP.NET】ArrayListからの取得

1
投稿者投稿内容
AERITH
会議室デビュー日: 2005/10/14
投稿数: 15
投稿日時: 2005-12-07 19:37
【言語】ASP.NET
【ソフト】VB.NET
【環境】XP PRO SP1

こんにちは。
Arraylistの値の取得についてご質問させて頂きます。

--------------------------------------------------------
Public Shared Function GetDate() As ArrayList

Dim arrArrayList As New ArrayList

arrArrayList.Insert(0, New ListItem(key1, value1))
arrArrayList.Insert(1, New ListItem(key2, value2))
.
.
Return arrArrayList

End Function
------------------------------------------------------

という風にListの中にKeyとValueを指定して、そのリストを返しているメソッドがあります。
(AddではなくInsertを使用しているのは順番を保証したかったからです)
ここからKey値を元にValue値を取得するということではなく、
Key値とValue値を同時に文字列として取得するにはどのようにしたらよろしいでしょうか?

このメソッドの呼び出し元で

----------------------------------------------------
Dim arr As New ArrayList
Dim strKey As String
Dim strValue As String

arr = GetDate()

strKey.Text = arrArrayListのi番目のKey値
strValue.Text = arrArrayListのi番目のValue値
-----------------------------------------------------

といった記述をしています。
(Stringのものは実際には表にFor文で回してセットしていくように考えています)

クイックウォッチでarrの中をみると、
TextにKey値
ValueにValue値
が入っているため、ArrayListのプロパティでTextとかValueがあり、それをセットするのかと思ったのですが
そういったプロパティがなかったため、現在取得方法にて悩んでいます。

恐らく難しいことではないと思うのですが、現状いくら考えてもわかりませんでしたのでお知恵を拝借したく思います。


よろしくお願いいたします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2005-12-07 20:01
ArrayList の要素は Object です
ListItem にキャストしてあげると該当の プロパティにアクセスできます。

引用:

Dim arr As ArrayList = GetDate()

' キャストする
Dim aaa As String = CType(arr(0), ListItem).Value

' まわしながら
For Each item As ListItem In arr
Dim key As String = item.Text
Dim value As String = item.Value
Next

todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-12-07 20:23
ListItemCollection
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfSystemWebUIWebControlsListItemCollectionClassctorTopic.asp
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2005-12-07 20:28
あっ・・・
そうか、そっちを進めればよかったのか
AERITH
会議室デビュー日: 2005/10/14
投稿数: 15
投稿日時: 2005-12-08 12:50
お二方、どうもありがとうございます。
ご教授頂いたやり方で無事アクセスできました。

単純にキャストするだけだったんですね…。
今見てみたらしっかりObjectと表記されていました。
調べが足りずに申し訳ありません。
1

スキルアップ/キャリアアップ(JOB@IT)