使用 LINQ Trim 列表 <string[]> 中的所有字符串的最简单方法?

Simplest Way to Trim All String within a List<string[]> using LINQ?

我有一个List <string[]>

使用 LINQ trim 所有字符串的最简单方法是什么?

如果原签名正确的话应该是

var result = original
    .Select( x=> 
        x.Select(y => y.Trim())
         .ToArray())
    .ToList();

其中 x 是原始列表中的每个字符串数组,y 是内部数组的成员。

LINQ 用于查询,不应用于修改现有集合。您可以使用以下内容,但它会 return 一个新集合。

List<string[]> newList = list.Select(outer => outer
                .Select(innerItem => innerItem.Trim())
                .ToArray())
                .ToList();

您可以在调用 Trim 之前为字符串数组中的每个元素添加针对 Null 的检查以避免 NRE。类似于:

.Select(innerItem => innerItem != null ? innerItem.Trim() : null)