[英]More Time taking While retriving data from the ListView in c#
考慮ListView項,其中已經插入了兩列,其中包含超過35,000行。 現在,用戶從ListView中選擇任何30,000行。 我想讓所有“選定的項目”數據說(項目,子項目)
這是我的代碼。
ListView名稱 :lstViewData
List<string> l_lstData = new List<String>();
for(int l_nItem =0;l_nItem<lstViewData.SelectedItems.Count;l_nItem++)
{
l_lstData.Add(lstViewData.SelectedItems[l_nItem].Text+
lstViewData.SelectedItems[l_nItem].SubItems[1].Text);
}
在我的PC上將花費半小時以上的時間(配置-IntelCore2Duo @ 2.40GHZ)。 ListView中選定項目的數量超過30,000
請告訴我解決方案,如果有人知道嗎?
您正在使用+運算符:
l_lstData.Add(lstViewData.SelectedItems[l_nItem].Text+lstViewData.SelectedItems[l_nItem].SubItems[1].Text);
如果有很多操作是不可變的,則不要在字符串上使用+運算符的情況下使用。 您應該使用StringBuilder
。
l_lstData.Add(sbuilder.Append(lstViewData.Seleteditems[l_nItem].Text).Append(lstViewData.SelectedItems[l_nItem].SubItems[1].Text).ToString());
sbuilder.Remove(0, sbuilder.Length);
sbuilder
是StringBuilder
的實例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.