0

我正在尝试从字符串列表中替换找到的具有多个字符串的字符串。这是我到目前为止所拥有的:

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;
    }

编者注: OP遇到的问题是

dataLogLines = dataLogLines.Select(x => x.Replace(line, newLines)).ToList();

给出编译器错误。

4

1 回答 1

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();
于 2013-06-03T21:27:31.923 回答