LINQ生成字符串概述
在向大家詳細(xì)介紹LINQ生成字符串之前,首先讓大家了解下LINQ生成隨機序列,然后全面介紹LINQ生成字符串。
自從學(xué)習(xí)LINQ以來,我發(fā)現(xiàn)了很多使用LINQ來改善代碼的方式。每一個技巧都讓代碼寫起來更簡單,可讀性更強。
這里總結(jié)了這些技巧。我會介紹如何使用LINQ來:
◆初始化數(shù)組
◆在一個循環(huán)中遍歷多個數(shù)組
◆生成隨機序列
◆生成字符串
◆轉(zhuǎn)換序列或集合
◆把值轉(zhuǎn)換為長度為1的序列
◆遍歷序列的所有子集
本文介紹生成隨機序列和生成字符串,如果你在LINQ方面有心得也歡迎在評論中一起分享。
LINQ生成隨機序列
這是一個生成N長度隨機序列的簡單技巧:
- Random rand = new Random();
- var randomSeq = Enumerable.Repeat(0, N).Select(i => rand.Next());
有了LINQ的延遲特性,序列不會實現(xiàn)進行計算并保存到數(shù)組中,而是在迭代randomSeq的時候按需生成隨機數(shù)。
LINQ生成字符串
同樣也可以讓LINQ生成各種類型字符串。對于測試或調(diào)試,生成字符串時很有用的。假設(shè)我們需要生成一個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());
【編輯推薦】