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

首頁 > 編程 > .NET > 正文

asp.net 程序性能優化的七個方面 (c#(或vb.net)程序改進)

2024-07-10 12:39:13
字體:
來源:轉載
供稿:網友
1、使用值類型的ToString方法
  在連接字符串時,經常使用"+"號直接將數字添加到字符串中。這種方法雖然簡單,也可以得到正確結果,但是由于涉及到不同的數據類型,數字需要通過裝箱操作轉化為引用類型才可以添加到字符串中。但是裝箱操作對性能影響較大,因為在進行這類處理時,將在托管堆中分配一個新的對象,原有的值復制到新創建的對象中。
  使用值類型的ToString方法可以避免裝箱操作,從而提高應用程序性能。
int num=1;
string str="go"+num.ToString();
2、運用StringBuilder類
  String類對象是不可改變的,對于String對象的重新賦值在本質上是重新創建了一個String對象并將新值賦予該對象,其方法ToString對性能的提高并非很顯著。
  在處理字符串時,最好使用StringBuilder類,其.NET 命名空間是System.Text。該類并非創建新的對象,而是通過Append,Remove,Insert等方法直接對字符串進行操作,通過ToString方法返回操作結果。
  其定義及操作語句如下所示:
int num;
System.Text.StringBuilder str = new System.Text.StringBuilder(); //創建字符串
str.Append(num.ToString()); //添加數值num
Response.Write(str.ToString); //顯示操作結果
3、使用 HttpServerUtility.Transfer 方法在同一應用程序的頁面間重定向
  采用 Server.Transfer 語法,在頁面中使用該方法可避免不必要的客戶端重定向(Response.Redirect)。
4、避免使用ArrayList。
因為任何對象添加到ArrayList都要封箱為System.Object類型,從ArrayList取出數據時,要拆箱回實際的類型。建議使用自定義的集合類型代替ArrayList。asp.net 2.0提供了一個新的類型,叫泛型,這是一個強類型,使用泛型集合就可以避免了封箱和拆箱的發生,提高了性能。
5、使用HashTale代替其他字典集合類型
(如StringDictionary,NameValueCollection,HybridCollection),存放少量數據的時候可以使用HashTable.
6、為字符串容器聲明常量,不要直接把字符封裝在雙引號" "里面。
//避免
MyObject obj = new MyObject();
obj.Status = "ACTIVE";
//推薦
const string C_STATUS = "ACTIVE";
MyObject obj = new MyObject();
obj.Status = C_STATUS;
7、不要用ToUpper(),ToLower()轉換字符串進行比較,用String.Compare代替,它可以忽略大小寫進行比較.
例:
const string C_VALUE = "COMPARE";
if (String.Compare(sVariable, C_VALUE, true) == 0)
{
Console.Write( "相同");
}
也可以用str == String.Empty或者str.Length == 0判斷是否為空。(注意判斷輸入數據的長度,可防止sql注入式攻擊)
將String對象的Length屬性與0比較是最快的方法,避免不必要的調用 ToUpper 或 ToLower 方法。
8、類型轉化Int32.TryParse()優于Int32.Parse()優于Convert.ToInt32()。
建議.NET1.1下用Int32.Parse();.NET2.0用Int32.TryParse()。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 楚雄市| 丰城市| 桃源县| 龙川县| 通州市| 辉南县| 崇阳县| 朝阳县| 准格尔旗| 安新县| 安乡县| 静宁县| 江西省| 龙岩市| 宜君县| 红河县| 延津县| 广安市| 安新县| 乌拉特前旗| 怀柔区| 沐川县| 财经| 黄骅市| 五大连池市| 内丘县| 南木林县| 武宁县| 利川市| 迁安市| 台湾省| 南宫市| 吉木萨尔县| 建瓯市| 盖州市| 五峰| 永善县| 西盟| 商都县| 满洲里市| 荔浦县|