c#更改foreach字符串循环中的字符串

我正在尝试使用foreach循环遍历列表中的字符串,但我不知道如何更改被引用的项目 – 如何更改列表中的s …例如,下面我要添加“ – “到每个字符串的末尾, smyStringList

 foreach(string s in myStringList) { s = s + "-"; } 

我不能做事,因为它是一个“foreach迭代变量” – 所以我不能在循环时改变它吗?

我是否必须使用int来计算?

我确信有一种更简单的方法……

您可以很轻松地使用Linq执行此操作:

 var newStringList = myStringList .Select(s => s + "-") .ToList(); 

如果您确实想要修改现有列表,可以使用经典的for循环,例如:

 for (var i = 0; i < myStringList.Count; i++) { myStringList[i] = myStringList[i] + "-"; } 

试试这个

 List listString = new List() { "1","2","3"}; listString=listString.Select(x => x + "-").ToList();