• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 网站开发 >> .NET教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • ASP.NET中Cookie编程简明参考..
  • 十天学会ASP.net之第一天
  • 在ASP.NET访问Excel文件 (VB..
  • 求素数(质数)的算法
  • 将dataset以xml形式发给客户..
  • ASP.NET MasterPage 中图片路..
  • 使用ASP.NET2.0的ReportView..
  • Asp.Net中使用水晶报表
  • ASP.NET上传图片时,产生预览..
  • C#进阶教程(一)
  • 用C#创建Web应用程序
  • 带你走进ASP.NET(1)
  • 十天学会ASP.net之第二天
  • 最佳ASP.NET编程习惯(1)
  • [视频]vs2005入门之对工具栏..
  • 安装好.net之后如何运行asp...
  • 带你走进ASP.NET(2)
  • 十天学会ASP.net之第三天
  • C#对Java--微软的反击?
  • C#究竟能给开发者带来什么
 
 

.NET泛型基础

  • 日期:2007-10-15     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

泛型较为广泛地被讨论,这里写到的只是作为新手的入门级认识。

泛型最常应用于集合类。

泛型的一个显而易见的优点在于可以在许多操作中避免强制转换或装箱操作的成本或风险,拿ArrayList这个集合类来说,为了达到其通用性,集合元素都将向上转换为object类型,对于值类型,更是有装箱拆箱的成本:

static void Main(string[] args)

{

ArrayList al = new ArrayList();

al.Add(1);

}

在IL中是:

IL_0008:  ldc.i4.1

IL_0009:  box        [mscorlib]System.Int32

IL_000e:  callvirt   instance int32 [mscorlib]System.Collections.ArrayList::Add(object)

box操作就是装箱,具体过程是把值类型从栈中弹出,放入堆中,同时把在堆中的地址压入到栈中,频繁出现这样的操作,成本比较大。


所以在2.0中,遇到以上的应用,应该使用泛型集合类List<T>:

static void Main(string[] args)

{

    List<int> l = new List<int>();

    l.Add(1);

}

 

另一个比较常用的泛型集合类是Dictionary<T,T>,用于保存键值对:

static void Main(string[] args)

{

    Dictionary<int, string> dict = new Dictionary<int, string>();

    dict.Add(1, "SomeBook1");

    dict.Add(2, "SomeBook2");

    dict.Add(3, "SomeBook3");

 

    Console.WriteLine(dict[2]);//output:SomeBook2

    dict[2] = "SomeCD1";//modify

    Console.WriteLine(dict[2]);//output:SomeCD1

 

    dict.Remove(2);//delete

 

    foreach (KeyValuePair<int, string> kv in dict)

    {

        Console.WriteLine("Key = {0}, Value = {1}",kv.Key, kv.Value);

    }

}
http://www.cnblogs.com/KissKnife/archive/2006/08/26/486807.html

相关文章
  • QQ帮你突破网吧硬盘访问限制
  • 局域网内盗用IP的安全问题
  • 邮件安全攻略:只要糖衣不要炮弹
  • 手机病毒的分类及其防范措施
  • 如何防止黒客远程盗取QQ密码
  • 始料未及,谁在控制电脑重新启动
  • 网络常见木马的手工清除方法
  • 魔高一尺 道高一丈
  • 防火墙日志记录让蠕虫病毒无处可逃
  • 提防他人动用电脑另有妙招
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号