您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)LINQ如何橫向?qū)Ρ萬(wàn)oreach,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
1 引言
// 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層的業(yè)務(wù)類,其定義為:
// 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; } } |
那么一件重要的事情,就是如何完成二者之間的轉(zhuǎn)換,尤其是,類似于List
2 本來(lái)的實(shí)現(xiàn)---想起來(lái)就是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; } |
固有的思維并沒有錯(cuò),程序和處理誠(chéng)如以往一樣值得回味。但是,忘卻和前進(jìn)同樣重要,所以我忘了用最簡(jiǎn)單的辦法來(lái)更優(yōu)雅的處理這一操作。
3 改進(jìn)的方式---LINQ真的來(lái)了
LIQN來(lái)了,就不要吝嗇自己的武器,對(duì)于相同的代碼需求,優(yōu)雅和簡(jiǎn)潔永遠(yuǎn)是值得追求的感覺,所以值得看似經(jīng)典的代碼,其實(shí)還可以更好:
// 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(); } |
改善就這么一點(diǎn)點(diǎn),以LINQ方式實(shí)現(xiàn)的“智能”轉(zhuǎn)換,看起來(lái)更美,不是嗎。
關(guān)于“LINQ如何橫向?qū)Ρ萬(wàn)oreach”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。