質問編集履歴

1

詩的内容を修正、クラスの継承は今回関係なので、削除

2016/06/21 12:57

投稿

KKcambodia
KKcambodia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,18 @@
1
- outを使ったList参照わたしているのですが、
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
- List定義こで行えばよいのでしょうか。
15
+ 変数定義う変ばよいのか、わかりません
12
16
 
13
17
 
14
18
 
@@ -48,11 +52,11 @@
48
52
 
49
53
  // out を使った場合、変数を初期化不要
50
54
 
51
- List<string[]> stArrayData = new List<string[]>();
55
+ List<string[]> Data = new List<string[]>();
52
56
 
53
57
  CsvEdit1 obj1 = new CsvEdit1();
54
58
 
55
- obj1.ReadCsv(out stArrayData);
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 : CsvEdit
69
+ public class CsvEdit1
66
70
 
67
71
  {
68
72
 
69
- public override ReadCsv(out List<string[]> stArrayData)
73
+ public void ReadCsv(out List<string[]> Data)
70
74
 
71
75
  {
72
76
 
73
- List<string[]> stArrayData = new 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:/StudyProject/input/");
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
- stArrayData.Add(record);
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