使用LINQ最简单的方法来修剪List<string[]>中的所有字符串是什么?

7

我有一个List<string[]>

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


你的意思是要一个字符串数组列表吗? - Steve Mitcham
是的,我从SqlDataReader中获取了这个。 - alansiqueira27
如果你想修改现有的集合,只需要使用foreachfor循环。 - juharr
2个回答

14

LINQ 用于查询,不应用于修改现有集合。您可以使用以下方法,但它将返回一个新的集合。

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

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

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

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

5
如果原先的签名是正确的,应该是这样的:
var result = original
    .Select( x=> 
        x.Select(y => y.Trim())
         .ToArray())
    .ToList();

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接