网站建设
  简约型网页设计套餐998
  实惠型网站建设套餐2580
  综合型网站制作套餐4980
  网站改版与网站维护
  行业网站建设方案
  大型网站建设解决方案
  企业网站建设流程
  帝网科技网站设计与网站制作
建站FAQ
·网站空间问题解答
·企业邮箱问题解答
 
酷站欣赏
·房产酷站(379)
·综合门户(8 9)
·建筑装饰(603)
·手机通讯(354)
·生活购物(376)
·医疗保健(199)
·文化摄影(602)
·休闲体育(399)
>>更多酷站欣赏
网站优化
·Google(谷歌)优化   ·百度(BaiDu)优化
·雅虎(Yahoo)优化    ·Alexa排名优化   
·Google AdSense   ·DMOZ目录提交  
建站知识
·网站建设知识·网站名词解释·网站运营知识
·网络营销知识·搜索引擎知识·实用技术文摘
网站推广
百度网站推广 google网站推广
搜狐网站推广 网易网站推广
新浪网站推广   雅虎网站推广
  您当前位置: 当前位置:帝网科技 >> web开发 >> .NET专栏 >> 浏览文章
 
 
.Net中各种不同的对象创建方式的速度差异
作者:佚名 来源:帝网科技 日期:2010年03月01日 点击数:


  在.Net中,微软给我们提供了很多不同的创建对象实例的方法,它们的速度又各有不同,以下一一列举。

  使用new关键字

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

  1 var instance = new Class();

  使用System.Activator类的CreateInstance方法动态创建

  这里的CreateInstance指的是Activator的非泛型方法:

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

  使用System.Activator类的CreateInstance方法动态创建

  这里的CreateInstance才是Activator的泛型方法:

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

  使用泛型约束,使用new关键字创建对象(泛型方法)

  首先需要创建一个泛型的方法:

  1 public static T CreateInstance() where T : new()

  2 {

  3 return new T();

  4 }

  这里利用泛型约束where T: new(),保证了T类型是可以用无参构造器构造的,所以代码里面就可以直接使用new T()来创建对象:

  1 var instance = CreateInstance();

  使用泛型类的静态方法、泛型约束和new关键字创建

  这里需要首先创建一个泛型类

  1 public static class StaticInitializer where T:new()

  2 {

  3 public static T CreateInstance()

  4 {

  5 return new T();

  6 }

  7 }

  然后使用如下代码创建实例:

  1 var instance = StaticInitializer.CreateInstance();

  使用泛型类的动态方法、泛型约束和new关键字

  这里使用的是泛型类的实力方法,需要首先创建一个泛型类:

  1 public class DynamicInitializer where T:new()

  2 {

  3 public T CreateInstance()

  4 {

  5 return new T();

  6 }

  7 }

  使用的方法就是:

  1 var initializer = new DynamicInitializer();

  2 var instance = initializer.CreateInstance();

  Ok,现在我一共提出了6种不同的创建对象的方式,大家可以猜猜这些创建对象的方式当中那个会比较快。

  使用new关键字

  使用System.Activator类的CreateInstance方法动态创建

  使用System.Activator类的CreateInstance方法动态创建

  使用泛型约束,使用new关键字创建对象(泛型方法)

  使用泛型类的静态方法、泛型约束和new关键字创建

  使用泛型类的动态方法、泛型约束和new关键字

  相关文章
 
·ASP.NET使用log4Net日志组件教程(日志
·ASP.NET MVC 框架
·C#实现的BinaryTree
·WebForms使用System.Web.Routing
·ASP.NET获取远程网页下载到本地文件
·一个“简单”的ASP.NET的服务器控件
·ASP.net与PHP两大网站开发架构优势对比
·教你七招提高.NET网站性能
·ASP.NET未来:简化开发 HTML5性能提升
·ASP.NET实现类似Excel的数据透视表
·FileUpload上传多文件出现错误的解决方
·.NET从优酷专辑中采集所有视频及信息(
·ASP.NET 4中的SEO改进
·详解Asp.net MVC DropDownLists
·提高ASP.NET应用程序性能的几招方法
·asp.net实现51job地区选择效果
·ASP.NET中创建GeoRSS订阅源
·ASP.NET 4.0开发更加简便
·ASP.NET页面间数据传递的方法
·ASP.NET的SEO:使用.ashx文件——排除
 
 

公司环境 | 合作伙伴 | 人才招聘 | 付款方式 | 关于我们

地址:广州市天河区中山大道中120号D805 电话:020-82529556 传真:020-82529556
广州帝网网络科技有限公司 版权所有 粤ICP备08119341号