与在列表<string> </string>中查找项目索引相关的问题

时间:2015-03-23 14:37:18

标签: c# linq list generics listiterator

我是Linq的新手..

我的代码中有List<string>个对象..我想把它逗号分开,所以我写了下面的语法

string commaSepNames = string.Join(",",lstNames.select(s=>s+" Customer").ToList());

上述语法将导致在名称末尾追加"Customer" 用逗号分隔......

但是现在我想在“客户”的末尾添加数字(从1到列表中的项目数),如下所示:

John Customer1, Ghanshyam客户2, 渡轮客户3, ......等等..

我如何在一个语法行中实现它? without using "for loop" or "foreach loop" ??

...谢谢

1 个答案:

答案 0 :(得分:2)

使用提供索引的Enumerable.Select重载:

var names = lstNames.Select((s, index) => string.Format("{0} Customer{1}", s, index + 1));
string commaSepNames = string.Join(",", names);

如果您不使用.NET 4,则需要一个数组:

string commaSepNames = string.Join(",", names.ToArray());