将字符追加到列表字符串



我的应用程序中有一个可选的自定义前缀和后缀,我想将其添加到字符串列表中的每个项目中。 我已经尝试了以下所有方法,但没有一个有效。 有人可以指出我正确的方向吗?

List<string> myList = new List<string>{ "dog", "cat", "pig", "bird" };
string prefix = "my ";
string suffix = " sucks!";
StringBuilder sb = new StringBuilder();
sb.Append(suffix);
sb.Insert(0, prefix);
MyList = sb.ToString();  //This gives me red squigglies under sb.ToString();

我也试过:

myList = myList.Join(x => prefix + x + suffix).ToList();  //Red squigglies

和:

sortBox1.Join(prefix + sortBox1 + suffix).ToList();  //Red squigglies

我哪里出错了?

目前还不清楚为什么你在这里使用StringBuilder,或者为什么要尝试做一个连接。听起来你想要:

var suckingList = myList.Select(x => "my " + x + " sucks")
                        .ToList();

这是使用 LINQ 对列表中的每个项执行投影的绝对正常方法。

List<string> myList = new List<string>{ "dog", "cat", "pig", "bird" };
List<string> myNewList = new List<string>();
string prefix = "my ";
string suffix = " sucks!";
foreach(string s in myList)
{
     myNewList.Add(string.Format("{0}{1}{2}", prefix, s, suffix);
}

myNewList 现在包含正确的数据。

最新更新