質問: 0; n < 8; n++) //ファイルクローズ処理 { readCSVfile[n].Close(); } } MessageBox.Show("処理終了"); } else { MessageBox.Show("ファイルを8つ選択してください"); } } ``` スタックトレース --------- ``` ************** 例外テキスト ************** System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 場所 calc_csv.Form1.buttonCalc_Click(Object sender, EventArgs e) 場所 C:¥Users¥myPC¥Visual Studio 2017¥Projects¥C#¥Windows Form Apprications¥calc csv¥calc csv¥Form1.cs:行 77 場所 System.Windows.Forms.Control.OnClick(EventArgs e) 場所 System.Windows.Forms.Button.OnClick(EventArgs e) 場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 場所 System.Windows.Forms.Control.WndProc(Message& m) 場所 System.Windows.Forms.ButtonBase.WndProc(Message& m) 場所 System.Windows.Forms.Button.WndProc(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ``` よろしくお願いします。 --- #### バージョンなど Windows10 Pro 64bit Visual Studio 2017 community .NET Framework 4.7 C# 7.0
回答: 同時に処理しているつもりなのかもしれませんが、ここで最初のファイルしかチェックしていません。 ``` for (int i = 0; readCSVfile[0].EndOfStream == false; i++) //行を走査 ``` 単純にSplitするだけでいい要件なのであれば、Streamを使うよりもFile.ReadAllLines()で一気に読みこんだほうがいいかもしれません。