当前位置: 首页 > news >正文

企业网站设计代码丹东seo排名公司

企业网站设计代码,丹东seo排名公司,软件公司取名字大全,wordpress回到顶端插件https://blog.csdn.net/dap769815768/article/details/81946506 只是比较简单的解释#xff0c;在实际使用中#xff0c;如果遇到需要深入研究的场景#xff0c;再翻阅相关资料深入研究下。 一、泛型T 这个T在实际使用中很常见#xff0c;比如ListT。其实我们还…https://blog.csdn.net/dap769815768/article/details/81946506 只是比较简单的解释在实际使用中如果遇到需要深入研究的场景再翻阅相关资料深入研究下。 一、泛型T 这个T在实际使用中很常见比如ListT。其实我们还可以写成Listobject。但是这样写会有一个问题。比如我把一个int数据存入到一个Listobject集合中int则会被自动转成object当我们试图取取用这个int数据的时候我们还要把object转成int。这期间有一个转换int》object》int这个转换涉及到拆箱和封箱操作也就是引用类型到值类型或者值类型到引用过程转换的过程这个是很耗时的。当数据量大的时候这个对于代码的效率是有不可忽视的影响的。 同时如果不小心把一个string类型存入到了这个Listobject中系统是不会报错的。但是当要取用的时候你也许开始没发现不小心存入了一个string类型然后你想当然的认为它是一个int类型把它转成了int这个时候你的程序就要报错了。这也是一个问题。 这个时候使用Listobject的隐患就显现出来了。为了比较好的解决这两个问题c#引入了T这个概念因为在大部分场景下我们的类型都是确定的没必要用object。 当我们使用ListT的时候我们首先实例化一个ListT比如这样的代码 Liststring listnew Liststring(); 这个代码的意思是告诉list这个集合只能放string这个类型的数据放其他类型的数据编译器是会报错的。这样我们不难理解T这个东西的作用其实就是一个通用的容器制造它的人开始不指定它是用来装什么的而使用者在使用它的时候要告诉这个容器准备用来装什么容器知道了用来装什么之后后面所有存入操作它都要检查一下你放的东西是不是开始指定的东西类型。 二、泛型方法 现在有一个需求需要写一个方法这个方法传入的参数可能是int型的也可能是string型的。首先我们可以用方法的重载方案解决这个问题比如下面两个重载方法 public void test(int param)         { }         public void test(string param)         { } 但是这样的话如果支持的类型变多了那么你需要写很多重载方法。如果只写一个重载方法则可以写成 public void test(object param) { } 但是这样写又出现object转成其他类型的问题会带来效率损失。同时不检查类型一旦传入了不支持的类型可能会出问题。 现在把test方法改造一下这样写 public void testT(T param){ } 这样写之后使用的时候要求提前通知这个方法你传入的是什么类型即 testint(10); 如果写成 testint(10);编译器就会报错。 这就是泛型方法。这里面我们省略了方法内部的实现其实仔细想一下如果要在这样的方法里面添加业务代码似乎除了用于存放数据的集合之外并没有多少场景需要这么写方法。没错泛型这个东西最常用的应用场景就是数据集合。而ListT就是一个存放各种数据的泛型类。 三、泛型类 上面的方法public void testT(T param){ }我们可以尝试一下把T去掉只写成public void test(T param){ }看看会发生什么。你会发现编译器会报错那么我们再尝试一下在这个方法的类名上加上T即写成 class TClassT     {         public void test(T param)         { }     } 你会发现如果把T放到类名上里面的方法就不需要加 T了同时编译器也不会报错。这是一种比较简洁的写法。这个时候TClass这个类就是泛型类而它的构造方法则和普通的类的构造方法的写法是一样的。当你要实例化这个类型的时候必须告诉这个类型T代表哪个类型之后所有这个类里面被标识了T的地方都是指你开始实例化指明的类型。比如test这个方法里面传入的param一定要和你开始实例化这个类的时候指明的类型一致。再比如你写一个返回T的方法 public T returnTest() { }这个方法的返回值也必须是你实例化类时指明的类型。如果我们TClass改成List把test改成Add则方法变成了下面这样 class ListT     {         public void Add(T param)         { }     } 这不就是我们经常用的ListT这个泛型集合吗。当然它的内部实现还有很多东西这里我们不去关注。 四、有了泛型类的概念泛型接口就很好理解了给上面的TClass写一个接口进行规范 interface ITClassT     {         void test(T param);     } 上面讲的TClass继承这个接口就可以了 class TClassT : ITClassT     {         public void test(T param)         {             throw new NotImplementedException();         }     }
http://www.w-s-a.com/news/911115/

相关文章:

  • 企业网站建设定制开发服务网站建设说课ppt
  • 大连市城乡建设局网站网站免费网站入口
  • 做暧网站网站备案ps
  • 知名网站建设公司电话长子网站建设
  • 网站建设的意义与目的建立什么船籍港
  • 广州注册公司营业执照网站建设代码优化
  • 百度网站官网马克互联网主题 wordpress
  • 网站制作 客户刁难深圳自助建站
  • 怎么去推广一个网站广东餐饮品牌设计
  • 网站代码加密了怎么做兰州最新大事
  • 现在ui做的比较好的网站去年做啥网站致富
  • 广东网站建设咨询电话好牌子网
  • 公司怎样制作网站南阳网站关键词
  • 营销型网站建设与网盟完整php网站开发
  • 网站做微信链接怎么做的石桥铺网站建设公司
  • 济南mip网站建设公司做图书馆网站模板
  • app 门户网站网站项目框架
  • 做网站视频网站备案 新闻审批号
  • 织梦网站怎么居中视频网站开发与制作
  • 网站上海备案佛山网站seo哪家好
  • 品牌形象网站有哪些珠海市区工商年报在哪个网站做
  • 注册域名不建设网站seo外包服务方案
  • 如何进行外贸网站建设wordpress文章输入密码可见
  • 政务网站建设索引常州做网站信息
  • 南宁做网站找哪家好wordpress 更改首页
  • 一个人在家做网站建设品牌策划流程
  • 小网站广告投放wordpress页面添加js
  • 仿制别人的竞价网站做竞价犯法吗wordpress添加版块
  • wordpress主题 站长互联网站备案表
  • 广州品牌策划公司排行南宁seo网络推广公司