修剪字符串数组时减少代码膨胀

时间:2013-11-27 10:51:45

标签: c# string collections

我有一串逗号分隔值,从中使用

获取字符串数组
string[] values = value.Split(',');

我想通过创建一个新的字符串列表并在数组上调用foreach来修剪所有这些值

 List<string> trimmedValues = new List<string>();

 foreach (string str in values)
     trimmedValues.Add(str.Trim());

使用更少的代码通过调用数组本身的方法,是否有更有效的方法来做到这一点?

3 个答案:

答案 0 :(得分:4)

使用linq

List<string> trimmedValues = values.Select(v => v.trim()).toList()

答案 1 :(得分:1)

试试这个:

var myTrimResult =“a,b,c”.Split(',')。选择(x =&gt; x.Trim());

“myTrimResult”变量将包含修剪过的元素。

答案 2 :(得分:0)

为了有效减少代码膨胀,我建议使用扩展名。

在项目的公共上下文中声明一个类似下面的方法(或者更好的是,在外部帮助器DLL中承载不同的项目):

public static List<string> TrimList(this string[] array)
{
    var list = new List<string>();
    foreach (var s in array)
    {
        list.Add(s.Trim());
    }
    return list;
}

现在,在您的代码中,您只需使用:

var trimmedValues = values.TrimList();

我觉得它比在代码

中使用LINQ表达式更具可读性