private void goToolStripMenuItem_Click(object sender, EventArgs e) { try { using (System.IO.StringReader reader = new System.IO.StringReader(textBox1.Text)) using (CsvParser parser = new CsvParser(reader)) { var header = parser.ReadRecord(); if (header.Length != 11 || header[2] != "科目番号" || header[3] != "科目名 " || header[4] != "単位数" || header[7] != "総合評価") { return; } var ac = parser.ReadRecordToEnd() .Where(a => a[7] != "D"); var achived = ac.Select(a => new ClassDefinition { Id = a[2], Unit = float.Parse(a[4].Trim()), Name = a[3] }); rootNode.Clear(); List <ClassDefinition> missed = new List <ClassDefinition>(); foreach (var item in achived) { if (!rootNode.AddClass(item)) { missed.Add(item); } } treeView1.Nodes[0].Nodes.Clear(); AddNodes(rootNode, treeView1.Nodes[0]); treeView1.Nodes[0].Text = rootNode.ToString(); //treeView1.ExpandAll(); MessageBox.Show(string.Join(Environment.NewLine, missed.Select(a => a.ToString())), "Dead"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }