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

首頁 > 學院 > 開發設計 > 正文

c-sharp開發應避免的幾個小濫用

2019-11-18 17:04:28
字體:
來源:轉載
供稿:網友

一 String和StringBuilder
       
      少量的字符串操作不宜采用StringBuilder。
      由于string是不可變得對象,對于string的疊加,每次操作都會生成一個新的string對象。所以針對大量string的操作時,我們會采用StringBuilde。但似乎很多人都知道這一點,所以只要字符串相加,不管三七二一都用StringBuilder。其實這是個誤區,在這里要注意"大量"一詞,少量的字符串操作用StringBuilder反而得不償失。
    比如下面的兩種寫法:


string sql = "insert into table (,,,)";
sql += " values ('')";和
StringBuilder sb = new StringBuilder();
sb.Append("insert into table (,,,)");
sb.Append(" values ('')");
string s = sb.ToString();宜采取第一種寫法。因為只有兩個字符串的相加,談不上大量。如果用StringBuilder,最后還需要轉換成string,結果性能反而差一些。

二 慎用異常

      由于程序拋出一個異常,就會創建一個異常對象,然后應用程序會在Catch塊中捕獲該異常,造成性能影響非常大。
比如:
int OrderID;
try
{
      OrderID = Convert.ToInt32(this.txtOrderID.Text);
}
catch(Exception e)
{
      OrderID = .
}
這樣的代碼很不合適,造成的性能開銷非常大。應該在客戶端寫js代碼先去驗證txtOrderID是否符合要求。


三 關于session, Request

Session:
很多人喜歡用Session來保存持久對象的值。 但是當你的程序部署在多臺服務器上做負載均衡時,可能會得不到Session保存的變量的值。 另外,由于Session是服務器端的內建對象,每開啟一個Session對象,都在服務器上占用一些資源。

Request:
在頁面間傳值取值時,看到很多人都這么寫代碼:
string CustomerName = this.Request["txtCustomerName"].ToString();
其實后面的ToSTring()多此一舉。this.Request["...."]本來就是string類型的,不必再去ToString()一下。


今天就寫那么多吧,要還有其他問題,再補充。


http://www.survivalescaperooms.com/Ring1981/archive/2006/08/04/436612.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛学| 黄石市| 东台市| 宝坻区| 渭源县| 东源县| 大安市| 丁青县| 西藏| 卓尼县| 潜山县| 宾阳县| 玉树县| 延川县| 安龙县| 贵德县| 博白县| 左权县| 个旧市| 高密市| 鄂伦春自治旗| 达尔| 灵丘县| 东山县| 元谋县| 沙雅县| 赤城县| 黑山县| 南和县| 鄂托克前旗| 托克逊县| 乐平市| 沛县| 南通市| 临洮县| 萝北县| 四川省| 西乌| 绩溪县| 陕西省| 二手房|