私は信じられないほど新しいLINQです。実際には...私はとても新しく、ドットの前のすべてが呼び出されたメソッドに渡されていることを理解しました。"System" -code "System.Linq" -code
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で高速になりたい場合は、これを変換することができますどのように思ったんだけど。
私たちはあなたが達成しようとしていることのアイデアを得ることができるように 'input'にsampe値を追加できますか? LINQは、最初に文字列操作/連結を最適化するように特別に設計されたものではないため、他のオプションもあります。ここでの作業のほとんどは連結されているようですので、 'reStr'変数に' StringBuilder'を使うことを検討してください。 – dlatikay
LINQの一部ですが、[StringBuilder](https://msdn.microsoft.com/en-us/library/system.text.stringbuilder(v = vs.110).aspx)についてお読みください。 – aloisdg
@dlatikay SongDecoder()の2番目のクエリを追加しました。それは違うのですか? – sxbrentxs