我正在尝试从字符串列表中替换,找到一个包含多个字符串的字符串。 这就是我到目前为止所做的:
private List<string> AddBinList( int CSNum, List<string> dataLogLines)
{
foreach (var line in dataLogLines)
{
try
{
if (line.Contains("&ALLPASSBINNUMBER&") && line.Contains("&ALLPASSBINNAME&"))
{
List<string> newLines = new List<string>();
foreach (var passBin in site[CSNum].Tokens.PassBins)
{
string outputLine = line.Replace("&ALLPASSBINNUMBER&", passBin.Value.ToString());
outputLine = line.Replace("&ALLPASSBINNAME&", passBin.Key);
newLines.Add(outputLine);
}
dataLogLines = dataLogLines.Select(x => x.Replace(line, newLines)).ToList();
}
}
catch { }
}
return dataLogLines;
}
EDITIORS注意: OP遇到的问题是
dataLogLines = dataLogLines.Select(x => x.Replace(line, newLines)).ToList();
给出了编译错误。
答案 0 :(得分:2)
示例输入将是一个字符串列表,如:{“item1”,“item2”}。现在我想用新的字符串列表替换“item2”,即{“item3”,“item4”},所以我的最终列表看起来像{“item1”,“item3”,“item4”
List<string> list1 = new List<string>() { "item1", "item2" };
list1 = list1.SelectMany(x => x == "item2" ? new[] { "item3", "item4" }
: new[] { x })
.ToList();