簡述LINQ代碼生成字符串
本文主要介紹LINQ代碼生成,但在此之前我先介紹一下LINQ代碼生成隨機序列,因為更有助于大家了解LINQ代碼生成的知識。
自從學習LINQ以來,我發(fā)現(xiàn)了很多使用LINQ來改善代碼的方式。每一個技巧都讓代碼寫起來更簡單,可讀性更強。
這里總結了這些技巧。我會介紹如何使用LINQ來:
◆初始化數組
◆在一個循環(huán)中遍歷多個數組
◆生成隨機序列
◆生成字符串
◆轉換序列或集合
◆把值轉換為長度為1的序列
◆遍歷序列的所有子集
本文介紹生成隨機序列和生成字符串,如果你在LINQ方面有心得也歡迎在評論中一起分享。
LINQ代碼生成隨機序列
這是一個生成N長度隨機序列的簡單技巧:
- Random rand = new Random();
- var randomSeq = Enumerable.Repeat(0, N).Select(i => rand.Next());
有了LINQ的延遲特性,序列不會實現(xiàn)進行計算并保存到數組中,而是在迭代randomSeq的時候按需生成隨機數。
LINQ代碼生成字符串
同樣也可以讓LINQ代碼生成各種類型字符串。對于測試或調試,生成字符串時很有用的。假設我們需要生成一個N長度的字符串,按照“ABCABCABC”的方式。使用LINQ,解決方案非常優(yōu)雅:
- string str = new string(
- Enumerable.Range(0, N)
- .Select(i => (char)(‘A’ + i % 3))
- .ToArray());
- //Petar Petrov給出了另外一種有趣的方式使用LINQ來生成字符串:
- string values = string.Join(string.Empty, Enumerable.Repeat(pattern, N)
- .ToArray
以上就是對LINQ代碼生成的簡單介紹。
【編輯推薦】