LINQ如何横向对比foreach
发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章将为大家详细讲解有关LINQ如何横向对比foreach,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 引言首先来看看,这个List转换双方的本来面目,以一
千家信息网最后更新 2024年10月23日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安全错误
数据库的锁怎样保障安全
安卓服务器端搭建
三门峡系统软件开发公司
网络安全改成什么最好
浙江机旁备件管理软件开发
虎牙云游戏服务器异常
数据库开发是什么岗位
边线科技互联网
acs认证服务器
杭州笑绣网络技术有限公司
网络安全个人承诺书下载
武汉烽火软件开发待遇
数据库先行课是什么数据类型
网络安全知识培训讲稿
免费快速软件开发平台
移动网络安全
网络安全法等法律要求
geo数据库挖掘免费
中心站(服务器)
凡是网络技术有限公司
数据库查询两个表
系统网络安全的辨识及预防措施
sql数据库转换二进制名
csgo加载服务器闪退
java 数据库 导出
网络安全主题绘画
数据库技术支持待遇
金山区本地网络技术售后服务
公交公司网络安全工作
河南大学软件开发学费
高级软件开发华为多少级