成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LINQ橫向?qū)Ρ萬oreach方法

開發(fā) 后端
LINQ已經(jīng)全面光臨了,本文并非探討LINQ的是是非非,而是通過自己開發(fā)過程的一個小小的側(cè)面來展示,LINQ已經(jīng)來了,而且更美好。

1 引言

今天,Terry點敲了我對于一段代碼的處理,誠如本文標題所言,事件緣起于我對一個List轉(zhuǎn)換的小小處理。首先來看看,這個List轉(zhuǎn)換雙方的本來面目,以一個常見的User類為例而言,User類代表了Model層的實體類,其定義為:

    // Release : code10, 2009/05/06
   // Author  : Anytao, http://www.ekrvqnd.cn    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層的業(yè)務(wù)類,其定義為:

    // Release : code10, 2009/05/06
    // Author  : Anytao, http://www.ekrvqnd.cn    
public class Account    {        public int ID { get; set; }        
public string Name { get; set; }        public int Age { get; set; }    }

那么一件重要的事情,就是如何完成二者之間的轉(zhuǎn)換,尤其是,類似于List到List這樣的轉(zhuǎn)換,是常常發(fā)生在業(yè)務(wù)處理的實際操作中。關(guān)于二者的區(qū)別,屬于設(shè)計方面的論題,不是本文關(guān)注的對象。

2 本來的實現(xiàn)---想起來就是foreach

好了,典型的List轉(zhuǎn)換,我們固有思維中想到的就是循環(huán)了,所以我想都沒想就實現(xiàn)了下面的處理過程:

        // Release : code10, 2009/05/06
         // Author  : Anytao, http://www.ekrvqnd.cn
        public List GetAccounts(List users)       
 {            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;        }

固有的思維并沒有錯,程序和處理誠如以往一樣值得回味。但是,忘卻和前進同樣重要,所以我忘了用最簡單的辦法來更優(yōu)雅的處理這一操作。

3 改進的方式---LINQ真的來了

LIQN來了,就不要吝嗇自己的武器,對于相同的代碼需求,優(yōu)雅和簡潔永遠是值得追求的感覺,所以值得看似經(jīng)典的代碼,其實還可以更好:

// Release : code10, 2009/05/06 
// Author  : Anytao, http://www.ekrvqnd.cn 
 public List GetAccounts(List users)     
   {  var result = from item in users
             select new Account  
          {      ID = item.ID,    
Name = item.FirstName + item.SecondName,
    Age = item.Age   };  
   return result.ToList();        }

改善就這么一點點,以LINQ方式實現(xiàn)的“智能”轉(zhuǎn)換,看起來更美,不是嗎。

4 結(jié)論

LINQ已經(jīng)來了,你還等什么。是的,進步只有一點點,作為開發(fā)故事中的小小一筆,但是我覺得值得書寫。當然,這只是LINQ應(yīng)用的小小示例,同時foreach作為最重要的循環(huán)手段,仍然有著不可替代的作用,不容忽視。

【編輯推薦】

  1. C#中foreach基礎(chǔ)使用方法
  2. 淺談LINQ如何插入刪除和更新數(shù)據(jù)庫記錄備注
  3. 使用LINQ查詢非泛型類型
責任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-09-22 09:31:08

LINQ to SQL

2009-09-08 11:25:42

Linq foreac

2025-05-08 08:10:53

2009-09-18 17:17:58

LINQ模型

2009-09-10 17:44:36

DOM模型INQ模型

2009-04-01 13:26:08

JavaFXFlexSilverlight

2009-09-09 09:59:08

Linq調(diào)用LoadP

2009-09-14 16:41:23

LINQ To XML

2009-09-09 13:18:26

Linq Submit

2010-06-17 09:30:44

LINQ to SQL

2009-09-08 15:39:13

Linq使用Inser

2009-09-11 10:20:36

Linq擴展方法

2009-09-15 16:44:44

Linq排序

2009-09-17 11:29:50

Linq擴展方法

2009-09-10 16:32:19

LINQ Where

2009-12-17 09:06:23

Visual Stud

2010-07-29 09:18:25

JavaFXFlexSilverlight

2009-07-10 16:17:41

JVM 1.6

2010-09-27 16:07:06

JVM Server模Client模式

2010-09-14 13:34:03

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美午夜一区 | 天天看天天操 | 成人伊人 | 中文字幕亚洲区一区二 | 免费视频二区 | 天天综合永久入口 | 中文字幕第十五页 | 在线观看视频一区 | 国产精品毛片av | 国户精品久久久久久久久久久不卡 | 嫩草影院网址 | 青青草视频免费观看 | 国产在线观看一区二区 | 亚洲国产成人精品一区二区 | 久久久久国产精品一区 | 一区二区在线观看免费视频 | 97伦理最新伦理 | 人妖一区 | 久久久国产一区二区三区 | 一区二区免费在线 | 粉嫩av久久一区二区三区 | 欧美日韩综合视频 | 国产精品免费一区二区 | 久久高清国产视频 | 精品免费观看 | 在线观看www | 中文字幕亚洲欧美 | 欧美日韩91 | 日韩在线一区二区 | 欧美福利视频一区 | 国产精品www| 欧美一级片在线观看 | av激情影院 | 亚洲视频免费 | 亚洲精品久久久久久久不卡四虎 | 欧美一级欧美一级在线播放 | 中文字幕免费在线 | 日韩欧美在线一区 | 日韩在线观看网站 | 久久久福利 | 综合久久99|