LINQ如何横向对比foreach
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章将为大家详细讲解有关LINQ如何横向对比foreach,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 引言首先来看看,这个List转换双方的本来面目,以一
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
pg不存在数据库则创建
lgwing手机连接不上服务器
美萍不可识别的数据库格式
竹马之友互联网科技有限公司
成都宏微观经济学模拟软件开发
梅州数字软件开发厂家直销
关于网络安全的诗简单
曙光服务器驱动下载
win7开机网络安全模式
dell服务器如何远程管理
燃烧的远征各服务器团本输出排名
兰州大学数据库原理网考
java软件开发饱和了吗
数据库表格增加一列数据
macm1air适合软件开发吗
梦幻手游有哪些服务器
网络安全宣传周启动仪式的意义
红帽服务器怎么查服务进程日志
uniapp 数据库查询
会计信息网络技术
网络技术计算机三级时间
数据库表被删除
信息及网络安全管理制度
主动保护系统网络安全技术
服务器的必备硬件有哪些
数据库学到什么程度可以找实习
西安长岭软件开发有限公司招聘
战争雷霆哪个服务器最不卡
ibm服务器读条进不去
银行软件开发报告