我对LINQ非常陌生,事实上.我是如此的新,我刚刚发现,在点之前的每一件事都会传递给被调用的方法。
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(SongDecoder("WUBWUBABCWUB"));
Console.WriteLine(SongDecoder("RWUBWUBWUBLWUB"));
}
public static string SongDecoder(string input)
{
string[] s = input.Split(new string[] { "WUB" }, StringSplitOptions.RemoveEmptyEntries);
string reStr = "";
for (int i = 0; i < s.Length; i++)
if(i == s.Length - 1)
reStr += s[i];
else
reStr += s[i] + " ";
return reStr;
}
}
我想知道如何将它转换成一个“简单”的LINQ变体,以及它是否会更快地使用LINQ (就像我听到关于LINQ的伟大而快速的事情一样)。
发布于 2016-05-27 15:35:06
这里不需要LINQ
var reStr = String.Join(" ",
input.Split(new string[] {"WUB"}, StringSplitOptions.RemoveEmptyEntries));
对不起:(林克很有用,我建议你读一下。
好的,我承认,如果你真的想使用LINQ,总是有Aggregate
的
var retStr = input.Split(new string[] {"WUB"}, StringSplitOptions.RemoveEmptyEntries))
.Aggregate ( (a,b) => a + " " + b);
在这里阅读更多信息:LINQ Aggregate algorithm explained
https://stackoverflow.com/questions/37487353
复制相似问题