A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓艳秋 中级黑马   /  2012-11-17 16:36  /  1396 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.装箱,拆箱---string s="123"  int n=Convert.ToInt32(s)---这个不叫拆箱
   int x=100; string s=x.Tostring()----这个不叫装箱。装箱与拆箱是发生在父子类中。无论是发生装箱或者是拆箱,对程序的性能影响比较大。所以写代码的时候习题避免装箱与拆箱。---使用泛型集合,增加元素的时候没有发生装箱,所以泛型的性能高。装箱时使用什么类型,拆箱也得使用同样的类型来拆,否则报错。
2.var类型。2.1在C#中,var修饰的值,依然是强类型,在编译时就确定了类型。2.2var只能出现在局部变量中。2.3var不能作为方法的参数类型,也不能作为方法的返回值类型。
3.where T:struct----表示泛型只能是值类型。
  where T:class表示泛型只能是引用类型。
where T:I... 表示泛型只能实现某个接口
对于泛型方法调用的时候,可以指定泛型,也可以不指定泛型。
4.foreach:可以被遍历的类型的要求:1,具有GetEnumerator()方法的类型。2,实现IEnumerator接口的类型。3,实现IEnumerator<T>接口的类型。一般我们可以实现IEnumerator()接口。一个类型只要实现了IEnumerable接口,就说这个类型可以被遍历,因为实现该接口后,就会有一个叫做GetEnumerator()的方法,而该方法就是实现遍历的。

评分

参与人数 1黑马币 +30 收起 理由
刘俊红 + 30

查看全部评分

2 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
学习一下,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马