構造体の中の構造体について
- 題名: 構造体の中の構造体について
- 著者: みけんにしわ
- 日時: 2011/05/10 15:55:44
- ID: 28554
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 構造体の中の構造体について
- 著者: Azulean
- 日時: 2011/05/10 21:56:47
- ID: 28555
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 構造体の中の構造体について
- 著者: みけんにしわ
- 日時: 2011/05/11 9:56:48
- ID: 28556
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
こんにちは。
構造体(Structure)の扱いについての相談です。
構造体Aのバックアップ用として構造体Bを作成しようとしています。
(構造体Aが変更された気に構造体Bをコピーして初期化しようと思っています)
構造体中にさらに構造体を宣言しているのですが、
このさらに宣言している構造体の値を変更しようとすると
構造体Bの値も変更されてしまいます。
扱い方に問題があると思うのですが、回避方法がわかりません。
よろしくお願いします。
環境:WinVista VB.NET 2005 framewrok2.0
------------------------------------------------
Public Class Form1
'構造体 親
Private Structure stTEST_A
Dim TEST_A As String
Dim TEST_A2() As stTEST_A_A
End Structure
'構造体 子
Private Structure stTEST_A_A
Dim TEST_A_A As String
End Structure
' メイン
Private testA As stTEST_A
' バックアップ用
Private testB As stTEST_A
' FORM_LOAD
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
testA.TEST_A = "TEST_A"
ReDim testA.TEST_A2(1)
testA.TEST_A2(0).TEST_A_A = "AA"
testB = testA
End Sub
'変更イベント(とりあえずボタンクリックで)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
testA.TEST_A = "TEST_A_A" ' testB.TEST_A には影響なし
testA.TEST_A2(0).TEST_A_A = "BBBBBBB" ' testB.TEST_A2(0).TEST_A_A にも"BBBBBBB"がセットされる
End Sub
End Class