首页 > Windows开发 > 详细

C#进阶 - 泛型

时间:2017-03-06 01:17:57      阅读:158      评论:0      收藏:0      [点我收藏+]

在没有泛型的时候,我们想要让方法接受多种类型的参数,

在.NET Framwork 1.0时代我们会这样定义一个方法:

public void MyAction(object myParameter)

{

  if(myParameter.GetType()==typeof(int)){//一些代……}

  else if(myParameter.GetType()==typeof(long)){//一些代码……}

  else{//一些代码……}

}

我们可以这样调用:

int m=213;

long l=2311232131323123123213;

MyAction(m);

MyAction(l);

但是我们在使用上面object类型时,参数传进来,C#默认会对参数进行一次拆箱,在拆箱的过程中会有性能损失。

后来泛型出现了:

泛型的方法定义是这样的:

public void MyGenericAction<T>(T myParameters)

{

  //一些代码……

}

是这样调用的:

int m=213;

long l=2311232131323123123213;

MyGenericAction(m);

MyGenericAction(l);

也可以这样使用:

MyGenericAction<int>(m);

MyGenericAction<long>(l);

我们如果想要限制T的类型,请参考以下链接:

http://blog.csdn.net/zjlovety/article/details/9044357

全文完。

 

C#进阶 - 泛型

原文:http://www.cnblogs.com/ASinger/p/6507615.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!