国产探花免费观看_亚洲丰满少妇自慰呻吟_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秒鐘左右的時間。
這個案例說明,對控件、類屬性需要增量賦值時,最好先賦值到一個變量,然后再將變量的值賦給控件、類屬性,以避免因為頻繁修改控件、類屬性而頻繁修改內存而導致效率低下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江城| 太谷县| 天等县| 临海市| 廊坊市| 平舆县| 济宁市| 舟山市| 昌邑市| 兴安县| 那曲县| 抚顺市| 铁力市| 江源县| 南平市| 当涂县| 开封市| 兰州市| 汉中市| 洛浦县| 东明县| 华池县| 无棣县| 嵩明县| 襄垣县| 青海省| 门头沟区| 诸城市| 蛟河市| 通化县| 拉孜县| 芜湖县| 太谷县| 永川市| 巴南区| 滦平县| 牡丹江市| 临沂市| 合江县| 冕宁县| 谢通门县|