您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關LINQ如何橫向對比foreach,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
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層的業務類,其定義為:
// 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
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”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。