LINQ解決方案簡單概述
本文向大家介紹LINQ解決方案,可能好多人還不了解LINQ解決方案,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
自從學習LINQ以來,我發現了很多使用LINQ來改善代碼的方式。每一個技巧都讓代碼寫起來更簡單,可讀性更強。
這里總結了這些技巧。我會介紹如何使用LINQ來:
◆初始化數組
◆在一個循環中遍歷多個數組
◆生成隨機序列
◆生成字符串
◆轉換序列或集合
◆把值轉換為長度為1的序列
◆遍歷序列的所有子集
本文介紹轉換序列或集合,如果你在LINQ方面有心得也歡迎在評論中一起分享。
轉換序列或集合
在C#或VB中我們不能實現把序列從T類型轉換為U類型,即使T從U類繼承。因此,即使把List<string>轉換為List<object>也很難實現。(要解釋為什么,請看Bick Byer的帖子)。但是如果要把IEnumerable<T>轉換為IEnumerable<U>的話,有一個簡單而有效的LINQ解決方案:
- IEnumerable<string> strEnumerable = …;
- IEnumerable<object> objEnumerable = strEnumerable.Cast<object>();
如果我們需要轉換List<T>為List<U>,也提供了LINQ解決方案,但是它會進行列表的復制:
- List<string> strList = …;
- List<object> objList = new List<object>(strList.Cast<object>());
Chris Cavanagh建議另外一種解決方式:
- var objList = strList.Cast<object>().ToList();
【編輯推薦】