準備
(なし)
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストビュー (listView1) を配置します。
サンプルコード (C#)
// 名前空間の追加 // (なし) // コード private void Form1_Load(object sender, EventArgs e) { listView1.View = View.Details; listView1.Columns.Add("メーカー", 100, HorizontalAlignment.Left); listView1.Columns.Add("パソコン名", 100, HorizontalAlignment.Left); listView1.Items.Add("NEC").SubItems.Add("ValueStar"); listView1.Items.Add("SONY").SubItems.Add("VAIO"); listView1.Items.Add("DELL").SubItems.Add("Precision"); } private void button1_Click(object sender, EventArgs e) { foreach (ListViewItem lvi in listView1.Items) { string s2 = string.Join(",", is2(lvi.SubItems)); listBox1.Items.Add(s2); } } private IEnumerable<string> is2(ListViewItem.ListViewSubItemCollection subitems) { for (int i = 0; i < subitems.Count; i++) { yield return subitems[i].Text; } }
解説
Form_Load イベントでは対象となるデータをリストビューに追加しているだけです。button1 をクリックすると、行ごとにアイテムをカンマ区切りの文字列として作成します。その際、サブアイテムのコレクションを IEnumerable 型に変換して、Join メソッドに渡しています。is2 メソッドは yield return を使用して列挙子を作成しています。
結果
動作確認環境
Visual Studio 2015 Professional (C# 6.0)