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