如何迭代一个列表,在迭代时,迭代另一个列表并用内部列表键值对替换上层列表的值

本文关键字:列表 迭代 键值对 内部 替换 何迭代 一个 另一个 | 更新日期: 2023-09-27 18:29:42

好吧,我想要的很简单,但我不能正确地写

我想用多个值替换字符串列表中的每个值(另一个列表包含这些值)。我可以写几个循环,但我想通过使用linq用一行命令来执行它

lstCrawlUrlsList<string>

lstReplaceWordsFromUrlsList<KeyValuePair<string,string>>

下面的不起作用,因为我正在犯语法错误,我需要帮助来修复它,谢谢

lstCrawlUrls = lstCrawlUrls.Select(pr =>lstReplaceWordsFromUrls
                           .ForEach{mr =>( pr.Replace(mr.Key, mr.Value); }))
                           .ToList<string>();

c#.net 4.5

的简单示例

ListA (string list) = "home","work","play","swim"
listB (keyvalue pairs) = "me;aa","or;cc"

我将ListA的值替换为listB,因此ListA变成如下

"hoaa","wcck","play","swim"

如何迭代一个列表,在迭代时,迭代另一个列表并用内部列表键值对替换上层列表的值

如果你坚持一行,下面是如何做到的:

lstCrawlUrls = lstCrawlUrls.Select(pr => lstReplaceWordsFromUrls.Aggregate(pr, (str, mr) =>( str.Replace(mr.Key, mr.Value); )));