LINQ如何横向对比foreach
发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,这篇文章将为大家详细讲解有关LINQ如何横向对比foreach,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 引言首先来看看,这个List转换双方的本来面目,以一
千家信息网最后更新 2024年10月22日LINQ如何横向对比foreach
这篇文章将为大家详细讲解有关LINQ如何横向对比foreach,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1 引言
首先来看看,这个List转换双方的本来面目,以一个常见的User类为例而言,User类代表了Model层的实体类,其定义为:
// Release : code10, 2009/05/06 // Author : Anytao, http://www.51cto.com public class User { public int ID { get; set; } public string FirstName { get; set; } public string SecondName { get; set; } public int Age { get; set; } } |
而Account类,则代码了Business Object层的业务类,其定义为:
// Release : code10, 2009/05/06 // Author : Anytao, http://www.51cto.com public class Account { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } } |
那么一件重要的事情,就是如何完成二者之间的转换,尤其是,类似于List到List这样的转换,是常常发生在业务处理的实际操作中。关于二者的区别,属于设计方面的论题,不是本文关注的对象。
2 本来的实现---想起来就是foreach
好了,典型的List转换,我们固有思维中想到的就是循环了,所以我想都没想就实现了下面的处理过程:
// Release : code10, 2009/05/06 // Author : Anytao, http://www.51cto.com public List GetAccounts(Listusers) { List accounts = new List(); foreach (User item in users) { Account account = new Account(); account.ID = item.ID; account.Name = item.FirstName + item.SecondName; account.Age = item.Age; accounts.Add(account); } return accounts; } |
固有的思维并没有错,程序和处理诚如以往一样值得回味。但是,忘却和前进同样重要,所以我忘了用最简单的办法来更优雅的处理这一操作。
3 改进的方式---LINQ真的来了
LIQN来了,就不要吝啬自己的武器,对于相同的代码需求,优雅和简洁永远是值得追求的感觉,所以值得看似经典的代码,其实还可以更好:
// Release : code10, 2009/05/06 // Author : Anytao, http://www.51cto.com public List GetAccounts(Listusers) { var result = from item in users select new Account { ID = item.ID, Name = item.FirstName + item.SecondName, Age = item.Age }; return result.ToList(); } |
改善就这么一点点,以LINQ方式实现的"智能"转换,看起来更美,不是吗。
关于"LINQ如何横向对比foreach"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
处理
代码
就是
篇文章
横向
重要
优雅
思维
方式
更多
面的
不错
吝啬
实用
相同
简洁
本来面目
业务
之间
事情
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的规范化
金诺网络技术服务
长沙华魂网络技术有限公司
带协议转换的服务器
科达赞网络技术有限公司
php查询数据库中内容
数据库显示某表数据
大学生创业项目点子软件开发
购买的网络技术可以退吗
火车头修改数据库密码
锐捷软件开发工程师
计算机数据库本科毕业论文
如何给小朋友讲网络安全
亳州oa管理软件开发外包公司
为什么转软件开发
生活中的网络安全常识
西安app软件开发平台
北京先手网络技术总监
查询postpresql数据库
辽宁特种网络技术优势
360网络安全学院黑客
阿里云远程数据库连接
学习软件开发安徽
幻塔选哪个服务器人多
学生观看网络安全教育视频的图片
macbook 软件开发优势
金蝶云系统服务器安装
网络安全大会江苏
重庆服务器有哪些云空间
近几年网络技术和应用