国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C#開發小技巧--對Text控件增量賦值的代碼優化

2024-07-21 02:18:44
字體:
來源:轉載
供稿:網友
筆者在開發一個小程序的時候,遇到一個需求,就是要把指定的文本內容打開,逐行判斷、組裝后再顯示在text控件中。
起初,筆者使用
while(streamreader.peek()>0)
{
...
textbox1.text += strline;
}
streamreader.close();
在運行的過程中無錯誤,可是在裝載數據的時候效率低下,裝載1000行的記錄居然需要15秒左右,大大的影響了使用。
在調試過程中,筆者發現,streamreader.open函數調用并不怎么需要耗時,而循環讀完這1000行數據的耗時也不到1秒,因此,把耗時的操作鎖定在textbox1.text+=strline上,猜想,可能是textbox1.text在聲明時分配了一定的內存,在每次賦值的過程中可能又需要重新分配內存,因textbox1控件所占空間比較大,因此重新分配內存占用了大部分的時間。
為了證實這個猜想,筆者把程序修改為:
string strdata="";
while(streamreader.peek()>0)
{
...
strdata+= strline;
}
textbox1.text=strdata;
streamreader.close();
經調試運行,在加載1000行記錄的數據文件僅需要1秒鐘左右的時間。
這個案例說明,對控件、類屬性需要增量賦值時,最好先賦值到一個變量,然后再將變量的值賦給控件、類屬性,以避免因為頻繁修改控件、類屬性而頻繁修改內存而導致效率低下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卢氏县| 迁安市| 布拖县| 衢州市| 普格县| 曲靖市| 灵宝市| 财经| 双鸭山市| 驻马店市| 锡林郭勒盟| 互助| 朝阳县| 来安县| 磐安县| 庄浪县| 临夏县| 新民市| 获嘉县| 永嘉县| 青铜峡市| 隆林| 新龙县| 唐山市| 呼伦贝尔市| 盐源县| 吴堡县| 上高县| 邳州市| 安图县| 沾化县| 洞头县| 双江| 兰州市| 台安县| 枝江市| 华阴市| 建德市| 蕉岭县| 安阳市| 汝阳县|