我有下面的字符串数组.
string[] sentence = new string[] { "The quick brown", "fox jumps over", "the lazy dog." };
我想用""拆分它并与#重新加入. 这是为了学习c#中的linq.我知道我可以通过替换和其他内置功能轻松管理它.但我正在尝试这种方式.
var sentenceresult = sentence.Select(c => c.Split(' '))
但如何为每个项目应用"#"?
你可以这样做String.Join
.
这应该给你预期的输出: -
string[] result = sentence.Select(x => String.Join("#", x.Split(' '))) .ToArray();
小提琴.
更新:
Enumerable.Select
投射阵列中的每个项目sentence
.所以当你说Select(x =>
x将迭代你的数组并在每次迭代中保存以下值时: -
"The quick brown" "fox jumps over" "the lazy dog."
现在,只考虑第一句话.String.Join
方法:
使用每个元素之间的指定分隔符连接字符串数组的所有元素.
所以当我们说它x.Split(' ')
实际上会分裂"The quick brown"
(记住我们正在考虑这里的第一句话)并返回一个与之相连的字符串数组#
.同样,对于其他句子,它将加入句子.