【问题标题】:Getting a list of strings with only the first and last character from another list LINQ从另一个列表 LINQ 中获取仅包含第一个和最后一个字符的字符串列表
【发布时间】:2022-11-25 14:47:57
【问题描述】:

从给定的字符串列表中,我需要使用 LINQ 生成新的字符串序列,其中每个字符串由原始列表中相应字符串的第一个和最后一个字符组成。

例子:

stringList: new[] { "ehgrtthrehrehrehre", "fjjgoerugrjgrehg", "jgnjirgbrnigeheruwqqeughweirjewew" },
expected: new[] { "ee", "fg", "jw" });
list2 = stringList.Select(e => {e = "" + e[0] + e[e.Length - 1]; return e; }).ToList();

这是我尝试过的方法,它有效,但我需要使用 LINQ 来解决问题,但我不确定如何调整我的解决方案。

【问题讨论】:

  • 您已经在使用 .Select(),它位于 Linq 命名空间中。也许您想用包含.First().Last() 的表达式替换e => { ...; return e; } 部分?

标签: c# .net linq


【解决方案1】:

评论里说Select已经是LINQ的一部分了,可以用这段代码var output = arr.Select(x => new string(new char[] { x.First(), x.Last() })).ToList();

【讨论】:

    【解决方案2】:

    干得好:

    var newList = stringList.Select(e => $"{e[0]}{e[e.Length - 1]}").ToList();
    

    【讨论】:

      【解决方案3】:

      使用LinqString.Remove() 的方法

      string[] input = new[] { "ehgrtthrehrehrehre", "fjjgoerugrjgrehg", "jgnjirgbrnigeheruwqqeughweirjewew" };
      string[] result = input.Select(x => x.Remove(1, x.Length - 2)).ToArray();
      

      【讨论】:

        猜你喜欢
        • 2011-10-29
        • 1970-01-01
        • 2023-01-02
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        相关资源
        最近更新 更多