没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-18 10:33:11.000|阅读 757 次
概述:在.net2.0中引用了泛型,泛型是我在.net 2.0众多特性中最喜欢的一个,可以说泛型给我们的编程思惟上带来了不小的影响。.net2.0和.net1.1比拟,良多功能用泛型和不用泛型都可以实现,例如过滤一个数组元素。但使用泛型会带来良多额外的好处,或者说泛型能办良多非泛型时代不能完成的任务。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
在.net2.0中引用了泛型,泛型是我在.net 2.0众多特性中最喜欢的一个,可以说泛型给我们的编程思惟上带来了不小的影响。.net2.0和.net1.1比拟,良多功能用泛型和不用泛型都可以实现,例如过滤一个数组元素。但使用泛型会带来良多额外的好处,或者说泛型能办良多非泛型时代不能完成的任务。
案例一:对增删改查用面向对象进行包装,假如想把客户端与业务处理以及数据处理部门更好的解耦,假如在.net1.1时代是很难实现的。像良多开源的框架,都有强盛的ORM编程模式,它使得所有的增删改查都终极同一表现在接口方法上,接受的参数恰是实体对象而不依靠于详细的数据源类型。
案例二:IComparer<T>接口的扩展,IComparer<T>接口对于实体集的排序提供了非常灵活的方案,比起IComparer接口,省去了烦人的类型转换以及类型安全题目。我们还可以对IComparer<T>接口进行更进一步的封装,让它在客户端更加解耦,可以参数这篇文章:泛型真的很神奇。
案例三:对于数组或者是实体集的查询,说的直接点就是实现了IEnumerable,IEnumerable<T>或派生类型,如 IQueryable<T>接口的集合。传统的IEnumerable接口在查询数据时都需要用到foreach操纵,而泛型IEnumerable接口或派生类型,如 IQueryable<T>接口,提供了更加简朴而且更加高效安全的查询模式。
示例:下面一个简朴的示例来说明下LINQ中的泛型应用。
非泛型方式的缺点:
1):从代码量来看,比LINQ方式多;
2):ArrayList相对泛型在机能上具有先天上的劣势。
3):LINQ充分利用了泛型的长处再结合LINQ优良的查询方式,使得代码的可阅读性进一步加强。
下面是我结合MSDN总结的一些LINQ中的泛型部门用法,不足处忘指正。
第一:LINQ查询中的IEnumerable<T>变量。下面代码中显示类型方式中IEnumerable<int>,就表明查询出来的集体里面都只会存放0个或者n个整形类型的数据。
第二:系统推断变量类型。因为.net3.0推出了匿名类型,所以我们可以把IEnumerable<int>直接写成var,让系统去判定变量的类型。
第三:查询操纵中的类型关系,第二条中我们知道可以引用匿名类型来让系统来判定变量的类型,但要写出有效的查询,我们最好了解对象之间的联系关系关系。LINQ 查询操纵在数据源、查询本身及查询执行中是强类型的。查询中变量的类型必需与数据源中元素的类型和 foreach 语句中迭代变量的类型兼容。
1):查询操纵中不需要转换数据源。查询的结果集元素类型和数据源元素类型相同。第一条中的显示类型方式查询中,记实集元素类型为IEnumerable<int>,假如我们要对集合做foreach操纵,我们需要这样写:
2):查询操纵中需要类型转换。假如原始数据源和最后查询数据源的元素类型不同,说明需要类型转换,下面是一个学生类的集合,但我们只需要返回知足前提的学生的电话号码并不需要其它信息,这里为了查询的有效性,并不需要知足前提学生的所有信息,即不需要返回整个student,这相称是SQL中的select *。下面是一个学生类:
构造学生数据源
查询姓李的学生的电话号码.
预测: 假如原始数据源实现了IEnumerable或者是IEnumerable<T>,那么查询出来的结果集也会实现数据源的接口。这里没有找到相关资料,有的朋友利便给出下。所以类型为IEnumerable<student>的数据源,得到的查询结果也会实现IEnumerable<T>接口。
错误查询:
3):让系统完全代办代理数据类型推断操纵。即查询时我们不显示指定数据类型。查询姓李的学生的电话号码
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:博客园面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号