LINQ初始化數組淺談
本文向大家介紹LINQ初始化數組,可能好多人還不了解LINQ初始化數組,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
自從學習LINQ以來,我發現了很多使用LINQ來改善代碼的方式。每一個技巧都讓代碼寫起來更簡單,可讀性更強。
這里總結了這些技巧。我會介紹如何使用LINQ來:
◆LINQ初始化數組
◆在一個循環中遍歷多個數組
◆生成隨機序列
◆生成字符串
◆轉換序列或集合
◆把值轉換為長度為1的序列
◆遍歷序列的所有子集
如果你在LINQ方面有心得也歡迎在評論中一起分享。
LINQ初始化數組
通常,我們需要把數組的值初始化為相同的值或遞增的序列值,或者可能是一個步進不為1的遞增/遞減序列。有了LINQ,我們可以在數組的初始化器中完成所有工作,不再需要循環!
在如下的示例代碼中,第一行代碼初始化了一個長度為10的數組,所有元素都是-1,第二行代碼初始化b為0、1、2到9,第三行代碼初始化c為100、110、120到190。
- int[] a = Enumerable.Repeat(-1, 10).ToArray();
- int[] b = Enumerable.Range(0, 10).ToArray();
- int[] c = Enumerable.Range(0, 10).Select(i => 100 + 10 * i).ToArray();
要提醒一下:如果你初始化一個很大的數組,最好不考慮這種優雅的方式而是使用傳統的方式來替代。LINQ的這種解決方案會動態產生數組,因此垃圾數組需要在運行時被回收。也就是說,我總是會在小數組或測試調試代碼的情況下使用這種技巧。
【編輯推薦】