2012-10-22 41 views
8

將一個常量字符串連接到列表中的每個項目 我正在使用C#和.Net 4.0。 使用LINQ

我有一個List<string>與一些值,如x1,x2,x3。對於List<string>中的每個值,我需要連接一個常量值,比如說「y」,然後返回List<string>作爲x1y,x2y和x3y。

有沒有Linq的方式來做到這一點?

回答

9
List<string> yourList = new List<string>() { "X1", "Y1", "X2", "Y2" }; 
yourList = yourList.Select(r => string.Concat(r, 'y')).ToList(); 
+0

感謝所有的答案。我選擇了這個作爲Concat的答案,否則類似於大多數其他答案。 :-) – itsbalur

1

您可以使用Select

var list = new List<string>(){ "x1", "x2" }; 

list = list.Select(s => s + "y").ToList(); 
4
list = list.Select(s => s + "y").ToList(); 
3

一種替代,使用ConvertAll

List<string> l = new List<string>(new [] {"x1", "x2", "x3"}); 
List<string> l2 = l.ConvertAll(x => x + "y"); 
+0

謹慎解釋downvote的原因? –

+0

感謝@Paolo,我已經測試過,這對我的需求也很好。是否有特別的理由讓我選擇「選擇」上的「ConvertAll」方法? – itsbalur

+0

@itsbalur:不是真的,事實上我只用'ConvertAll',因爲已經有幾個其他的基於選擇的答案:) –