程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .Net中各種不同的對象創建方式的速度差異

.Net中各種不同的對象創建方式的速度差異

編輯:C#入門知識

在.Net中,微軟給我們提供了很多不同的創建對象實例的方法,它們的速度又各有不同,以下一一列舉。

使用new關鍵字

這在.Net中是最常見,也是速度最快的方式:

1 var instance = new Class();

 

使用System.Activator類的CreateInstance方法動態創建

這裡的CreateInstance指的是Activator的非泛型方法:

1 var instance = System.Activator.CreateInstance(typeof(Class));

 

使用System.Activator類的CreateInstance<T>方法動態創建

這裡的CreateInstance才是Activator的泛型方法:

1 var instance = System.Activator.CreateInstance<Class>();

 

使用泛型約束,使用new關鍵字創建對象(泛型方法)

首先需要創建一個泛型的方法:

1 public static T CreateInstance<T>() where T : new()
2 {
3     return new T();
4 }

 

這裡利用泛型約束where T: new(),保證了T類型是可以用無參構造器構造的,所以代碼裡面就可以直接使用new T()來創建對象:

1 var instance = CreateInstance<Class>();

 

使用泛型類的靜態方法、泛型約束和new關鍵字創建

這裡需要首先創建一個泛型類

1 public static class StaticInitializer<T> where T:new()
2 {
3     public static T CreateInstance()
4     {
5         return new T();
6     }
7 }

 

然後使用如下代碼創建實例:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved