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

时间:2018-06-15 12:38:46

标签: c#

我正在尝试使用foreach循环遍历列表中的字符串,但我不知道如何更改被引用的项目 - 如何更改列表中的s ...下面我想在s

中的每个字符串myStringList的末尾添加“ - ”
foreach(string s in myStringList)
{
    s = s + "-"; 
}

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

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

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

2 个答案:

答案 0 :(得分:11)

你可以很容易地用Linq做到这一点:

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

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

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

答案 1 :(得分:-1)

试试这个

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