如何用LINQ从字符串列表生成仅含首尾字符的新字符串列表
LINQ实现字符串首尾字符拼接
你写的代码其实已经是标准的LINQ实现了,还可以进一步简化写法:
简化后的代码
var list2 = stringList.Select(e => $"{e[0]}{e[e.Length - 1]}").ToList();
关键说明
- 用C#字符串插值语法
$""替代原代码的字符串拼接,写法更简洁直观 - 你原代码里的
Select本身就是LINQ的核心操作,本质上已经是LINQ适配方案,优化后逻辑完全一致 - 若原列表存在空字符串或
null,会触发索引越界异常,可添加判断规避:
var list2 = stringList.Where(e => !string.IsNullOrEmpty(e)) .Select(e => $"{e[0]}{e[e.Length - 1]}") .ToList();
示例验证:
输入:
new[] { "ehgrtthrehrehrehre", "fjjgoerugrjgrehg", "jgnjirgbrnigeheruwqqeughweirjewew" }
输出:new[] { "ee", "fg", "jw" }
内容的提问来源于stack exchange,提问作者Oana
相关产品推荐
相关产品推荐

