[英]“System”-code to “System.Linq”-code
實際上,我對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的好又快的知識。)。
這里不需要LINQ
var reStr = String.Join(" ",
input.Split(new string[] {"WUB"}, StringSplitOptions.RemoveEmptyEntries));
抱歉:(但是LINQ非常有用,我建議您閱讀一下。
好的,我認為,如果您真的想使用LINQ,總會有Aggregate
var retStr = input.Split(new string[] {"WUB"}, StringSplitOptions.RemoveEmptyEntries))
.Aggregate ( (a,b) => a + " " + b);
在這里閱讀更多: LINQ Aggregate算法解釋
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.