質問編集履歴
1
詩的内容を修正、クラスの継承は今回関係なので、削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,14 +1,18 @@
|
|
1
|
-
|
1
|
+
ご指摘の通り、変数名を変えてみました。
|
2
|
-
|
3
|
-
overrideしている箇所のLISTの定義でビルドエラーになります。
|
4
|
-
|
5
|
-
virtualの箇所と同じなのですが、どうしてエラーになるのか
|
6
|
-
|
7
|
-
いまいち理解できません。。
|
8
2
|
|
9
3
|
|
10
4
|
|
5
|
+
overrideは、ややこしいので、削除しました。
|
6
|
+
|
7
|
+
しかし、
|
8
|
+
|
9
|
+
コントロールが現在のメソッドを抜ける前に割り当てられる必要があります。
|
10
|
+
|
11
|
+
といったビルドエラーになります。
|
12
|
+
|
13
|
+
エラーのメッセージが言わんとしていることは理解できますが、
|
14
|
+
|
11
|
-
|
15
|
+
変数定義をどう変えればよいのか、わかりません。
|
12
16
|
|
13
17
|
|
14
18
|
|
@@ -48,11 +52,11 @@
|
|
48
52
|
|
49
53
|
// out を使った場合、変数を初期化不要
|
50
54
|
|
51
|
-
List<string[]>
|
55
|
+
List<string[]> Data = new List<string[]>();
|
52
56
|
|
53
57
|
CsvEdit1 obj1 = new CsvEdit1();
|
54
58
|
|
55
|
-
obj1.ReadCsv(out
|
59
|
+
obj1.ReadCsv(out Data);
|
56
60
|
|
57
61
|
MessageBox.Show("ここでブレークポイントでチェック");
|
58
62
|
|
@@ -62,15 +66,15 @@
|
|
62
66
|
|
63
67
|
|
64
68
|
|
65
|
-
public class CsvEdit1
|
69
|
+
public class CsvEdit1
|
66
70
|
|
67
71
|
{
|
68
72
|
|
69
|
-
public o
|
73
|
+
public void ReadCsv(out List<string[]> Data)
|
70
74
|
|
71
75
|
{
|
72
76
|
|
73
|
-
List<string[]>
|
77
|
+
List<string[]> tempData = new List<string[]>();
|
74
78
|
|
75
79
|
try
|
76
80
|
|
@@ -80,7 +84,7 @@
|
|
80
84
|
|
81
85
|
System.IO.DirectoryInfo dirPath =
|
82
86
|
|
83
|
-
new System.IO.DirectoryInfo(@"E:/
|
87
|
+
new System.IO.DirectoryInfo(@"E:/A/");
|
84
88
|
|
85
89
|
System.IO.FileInfo[] files =
|
86
90
|
|
@@ -116,89 +120,7 @@
|
|
116
120
|
|
117
121
|
|
118
122
|
|
119
|
-
|
123
|
+
tempData.Add(record);
|
120
|
-
|
121
|
-
}
|
122
|
-
|
123
|
-
}
|
124
|
-
|
125
|
-
}
|
126
|
-
|
127
|
-
MessageBox.Show("読み込み完了しました。");
|
128
|
-
|
129
|
-
}
|
130
|
-
|
131
|
-
catch (System.Exception e)
|
132
|
-
|
133
|
-
{
|
134
|
-
|
135
|
-
// ファイルを開くのに失敗したとき
|
136
|
-
|
137
|
-
MessageBox.Show(e.ToString());
|
138
|
-
|
139
|
-
}
|
140
|
-
|
141
|
-
}
|
142
|
-
|
143
|
-
}
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
public class CsvEdit
|
148
|
-
|
149
|
-
{
|
150
|
-
|
151
|
-
public virtual void ReadCsv()
|
152
|
-
|
153
|
-
{
|
154
|
-
|
155
|
-
List<string[]> stArrayData = new List<string[]>();
|
156
|
-
|
157
|
-
try
|
158
|
-
|
159
|
-
{
|
160
|
-
|
161
|
-
// csvファイルを開く
|
162
|
-
|
163
|
-
System.IO.DirectoryInfo dirPath =
|
164
|
-
|
165
|
-
new System.IO.DirectoryInfo(@"/");
|
166
|
-
|
167
|
-
System.IO.FileInfo[] files =
|
168
|
-
|
169
|
-
dirPath.GetFiles("test_*.csv", System.IO.SearchOption.AllDirectories);
|
170
|
-
|
171
|
-
// 指定フォルダからCSVを取得し、配列に格納する。
|
172
|
-
|
173
|
-
foreach (System.IO.FileInfo filePath in files)
|
174
|
-
|
175
|
-
{
|
176
|
-
|
177
|
-
using (var readCsv = new System.IO.StreamReader(filePath.FullName))
|
178
|
-
|
179
|
-
{
|
180
|
-
|
181
|
-
//ヘッダを読み捨てる。
|
182
|
-
|
183
|
-
readCsv.ReadLine();
|
184
|
-
|
185
|
-
// ストリームの末尾まで繰り返す
|
186
|
-
|
187
|
-
while (!readCsv.EndOfStream)
|
188
|
-
|
189
|
-
{
|
190
|
-
|
191
|
-
// ファイルから一行読み込む
|
192
|
-
|
193
|
-
string line = readCsv.ReadLine();
|
194
|
-
|
195
|
-
// カンマ区切りで分割して配列に格納する
|
196
|
-
|
197
|
-
string[] record = line.Split(',');
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
stArrayData.Add(record);
|
202
124
|
|
203
125
|
}
|
204
126
|
|