新聞中心
1 引言

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供江門網(wǎng)站建設、江門做網(wǎng)站、江門網(wǎng)站設計、江門網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、江門企業(yè)網(wǎng)站模板建站服務,十年江門做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
今天,Terry點敲了我對于一段代碼的處理,誠如本文標題所言,事件緣起于我對一個List 轉(zhuǎn)換的小小處理。首先來看看,這個List 轉(zhuǎn)換雙方的本來面目,以一個常見的User類為例而言,User類代表了Model層的實體類,其定義為:
// Release : code10, 2009/05/06 // Author : Anytao, http://www. 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è)務類,其定義為:
// Release : code10, 2009/05/06 // Author : Anytao, http://www. 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è)務處理的實際操作中。關(guān)于二者的區(qū)別,屬于設計方面的論題,不是本文關(guān)注的對象。
2 本來的實現(xiàn)---想起來就是foreach
好了,典型的List 轉(zhuǎn)換,我們固有思維中想到的就是循環(huán)了,所以我想都沒想就實現(xiàn)了下面的處理過程:
// Release : code10, 2009/05/06 // Author : Anytao, http://www. 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. 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應用的小小示例,同時foreach作為最重要的循環(huán)手段,仍然有著不可替代的作用,不容忽視。
【編輯推薦】
- C#中foreach基礎(chǔ)使用方法
- 淺談LINQ如何插入刪除和更新數(shù)據(jù)庫記錄備注
- 使用LINQ查詢非泛型類型
本文題目:LINQ橫向?qū)Ρ萬oreach方法
鏈接URL:http://m.fisionsoft.com.cn/article/dpsiosc.html


咨詢
建站咨詢
