千家信息网

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服务器读条进不去 银行软件开发报告
0