2013-11-27 52 views
1

我有逗號分隔值的字符串,從此得到一個字符串數組我用修整字符串數組時減少代碼膨脹

string[] values = value.Split(','); 

我要修剪所有這些值通過創建一個新的列表串並

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

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

有沒有一種比較有效的方式用更少的代碼來做到這一點說,通過調用陣列本身上的方法調用這樣的陣列上一個foreach?

回答

4

使用LINQ

List<string> trimmedValues = values.Select(v => v.trim()).toList() 
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表達

1

試試這個:

var myTrimResult =「a,b,c」.Split(',')。Select(x => x.Trim());

「myTrimResult」變量將包含修剪元素。