回答編集履歴

2

追記

2017/06/02 00:59

投稿

workaholist
workaholist

スコア559

test CHANGED
@@ -63,3 +63,93 @@
63
63
  最後まで書き込みを見てませんでした。
64
64
 
65
65
  最後に書かれているやり方だと、table1~3が同一の実体を指す事になり、table1に対する変更などがtable2にもtable3にも起こることになりますが大丈夫でしょうか。
66
+
67
+
68
+
69
+ 【追記2】
70
+
71
+ xo001122さんのコード
72
+
73
+ ```C#
74
+
75
+ Sub Main()
76
+
77
+ Dim temp_table As New DataTable
78
+
79
+ temp_table.Columns.Add("retu1")
80
+
81
+ temp_table.Columns.Add("retu2")
82
+
83
+ temp_table.Columns.Add("retu3")
84
+
85
+
86
+
87
+ Dim table1 As DataTable = temp_table
88
+
89
+ Dim table2 As DataTable = temp_table
90
+
91
+ Dim table3 As DataTable = temp_table
92
+
93
+
94
+
95
+ ' table1に1行追加してそれぞれのDataTableの行数を表示
96
+
97
+ table1.Rows.Add()
98
+
99
+ Console.WriteLine("table1の行数:{0}", table1.Rows.Count) ' 1行
100
+
101
+ Console.WriteLine("table2の行数:{0}", table2.Rows.Count) ' 1行
102
+
103
+ Console.WriteLine("table3の行数:{0}", table3.Rows.Count) ' 1行
104
+
105
+
106
+
107
+ Console.ReadLine()
108
+
109
+ End Sub
110
+
111
+ ```
112
+
113
+ 私のコード。
114
+
115
+ ```C#
116
+
117
+ Sub Main()
118
+
119
+ Using table1 As New DataTable(),
120
+
121
+ table2 As New DataTable(),
122
+
123
+ table3 As New DataTable()
124
+
125
+ For Each tbl In {table1, table2, table3}
126
+
127
+ tbl.Columns.Add("teru1")
128
+
129
+ tbl.Columns.Add("teru2")
130
+
131
+ tbl.Columns.Add("teru3")
132
+
133
+ Next
134
+
135
+
136
+
137
+ ' table1に1行追加してそれぞれのDataTableの行数を表示
138
+
139
+ table1.Rows.Add()
140
+
141
+ Console.WriteLine("table1の行数:{0}", table1.Rows.Count) ' 1行
142
+
143
+ Console.WriteLine("table2の行数:{0}", table2.Rows.Count) ' 0行
144
+
145
+ Console.WriteLine("table3の行数:{0}", table3.Rows.Count) ' 0行
146
+
147
+ End Using
148
+
149
+
150
+
151
+ Console.ReadLine()
152
+
153
+ End Sub
154
+
155
+ ```

1

追記

2017/06/02 00:59

投稿

workaholist
workaholist

スコア559

test CHANGED
@@ -55,3 +55,11 @@
55
55
  ```
56
56
 
57
57
  あとはディープコピーするとか。
58
+
59
+
60
+
61
+ 【追記】
62
+
63
+ 最後まで書き込みを見てませんでした。
64
+
65
+ 最後に書かれているやり方だと、table1~3が同一の実体を指す事になり、table1に対する変更などがtable2にもtable3にも起こることになりますが大丈夫でしょうか。