我有一串逗号分隔值,从中使用
获取字符串数组string[] values = value.Split(',');
我想通过创建一个新的字符串列表并在数组上调用foreach来修剪所有这些值
List<string> trimmedValues = new List<string>();
foreach (string str in values)
trimmedValues.Add(str.Trim());
使用更少的代码通过调用数组本身的方法,是否有更有效的方法来做到这一点?
答案 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表达式更具可读性