5
ListViewへのアイテムの追加を高速化するにはどうすればよいですか?
WinForms ListViewに数千(例:53,709)のアイテムを追加しています。 試行1:13,870 ms foreach (Object o in list) { ListViewItem item = new ListViewItem(); RefreshListViewItem(item, o); listView.Items.Add(item); } これは非常にうまくいきません。明らかな最初の修正は、を呼び出すことBeginUpdate/EndUpdateです。 試行2:3,106 ms listView.BeginUpdate(); foreach (Object o in list) { ListViewItem item = new ListViewItem(); RefreshListViewItem(item, o); listView.Items.Add(item); } listView.EndUpdate(); これは優れていますが、それでも桁違いに遅すぎます。ListViewItemsの作成とListViewItemsの追加を分けて、実際の原因を見つけましょう。 試行3:2,631 ms var items = new List<ListViewItem>(); foreach (Object o …