Visual Basic 中学校 掲示板
投稿内容
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
>
投稿一覧
>
構造体と List Of の取り扱い(データの更新)
タグの編集...
投稿者
N88-BASIC
 (社会人)   投稿日時
2016/8/21 15:38:16
構造体のデータ(Structure)をListジェネリッククラスの要素として登録して、その値を変更する方法に関して情報を提供いただければ助かります。
対象システム:Windows 10 Home & Visual Studio Community 2015
目的:グラフィック表示用のデータを List Of (構造体) に格納
現状のコード(簡略)
'--- Declare
Public Structure ItemInfo
Public Shape as String
Public PosX as Integer
Public PosY as Integer
End Structure
Dim ItemList As New List(Of ItemInfo)
'--- Procedure
'要素の登録
Dim OneItem as New ItemInfo
OneItem.Shape="Circle"
OneItem.PosX=10
OneItem.PosY=20
ItemList.Add(OneItem)
'要素の更新(エラー分)
ItemList(i).PosX=120 -> 「式が値であるため、代入式のターゲットにすることはできません。」
'要素の更新(現状)
Dim TargetItem As ItemInfo
TargetItem=ItemList(i)
TargetItem.PosX=200
ItemList(i)=TargetItem
?疑問点
1)現状の更新方法が適切かどうか
2)現状の3ステップの更新過程を簡略する方法
以上 よろしくお願いいたします。
投稿者
shu
 (社会人)   投稿日時
2016/8/21 21:40:25
Structureは値型なので全体で1つの値となります。
なので値を更新するには現状通り代入しなおしが必要になります。
Classにするのがよいと思います。
投稿者
N88-BASIC
 (社会人)   投稿日時
2016/8/22 08:22:57
shu さん、ご回答ありがとうございました。
「Structureは値型なので全体で1つの値」でエラーの意味が理解できました。
Classの適用の件、新しい書籍を入手したところですので勉強してみます。
今後ともよろしくお願いします。