码迷,mamicode.com
首页 > Windows程序 > 详细

c#中的泛型

时间:2016-03-19 12:50:26      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

定义:

泛型:将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型

为使用c#语言编写面向对象程序增加了极大的效率和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。


1.List<T>泛型

  1. List<int> ll = new List<int>();
  2. ll.Add(3);
  3. ll.Add(4);
  4. //ll[0] = 1; 不能用这种声明方法
  5. List<string> ss = new List<string>() { "jing", "dong", "yun" };
可以使用两种方法来遍历输出
  1. foreach (var item in ss)
  2. {
  3. Console.WriteLine(item);
  4. }
  5. for (int j = 0; j < 3; j++)
  6. {
  7. Console.WriteLine(ss[j]);
  8. }


泛型也是一样。in 关键字表示可能逆变,out 关键字表示可能协变。


5种泛型约束

1.基类约束【类型参数必须是BaseClass或者是其子类】

class A<T> where T : BaseClass { }

2.接口约束【类型参数必须是实现了IPrint接口的类型】

class B<T> where T : IPrint { }

3.构造器约束【类型参数必须是有一个无参的构造器的类型】

class C<T> where T : new( ) { }

4.值类型 / 引用类型约束【类型参数必须是引用类型】

class D<T> where T : class { }

5.值类型 / 引用类型约束【类型参数必须是值类型

class E<T> where T : strct { }












c#中的泛型

标签:

原文地址:http://www.cnblogs.com/weloveshare/p/5294807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!