簡體   English   中英

從“系統”代碼到“ System.Linq”代碼

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM