リストビューの内容をCSVへ出力するサンプルコードです。リストビューのColumns
やItems
は特殊なコレクションクラスなのでLINQを適用できませんが、Cast<T>
で対応するクラスのIEnumerable<T>
へ変換すればLINQを適用できます。クラスなので参照コピーで済むと思います。
var savePath = "<保存先のパスを指定します>"; var builder = new StringBuilder(); // ヘッダーの書き出し builder.AppendLine(string.Join<string>(',', listView1.Columns.Cast<ColumnHeader>().Select(column => $"\"{column.Text}\""))); // データの書き出し foreach (ListViewItem item in listView1.Items) { builder.AppendLine(string.Join<string>(',', item.SubItems.Cast<ListViewItem.ListViewSubItem>().Select(subItem => $"\"{subItem.Text}\""))); } File.WriteAllText(savePath, builder.ToString());