Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何迭代一个列表,在迭代时,迭代另一个列表,并用内部列表键值对替换上面列表的值_C#_.net_Linq_.net 4.5 - Fatal编程技术网

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

C# 如何迭代一个列表,在迭代时,迭代另一个列表,并用内部列表键值对替换上面列表的值,c#,.net,linq,.net-4.5,C#,.net,Linq,.net 4.5,好的,我想要的很简单,但我写不好 我想用多个值替换字符串列表的每个值(另一个列表包含这些值)。我可以编写几个循环,但是我想使用linq通过一行命令来执行它 URL是一个列表 lstReplaceWordsFromUrls是一个列表 下面是不工作,因为我正在做一个语法错误,我需要帮助来修复它谢谢 lstCrawlUrls = lstCrawlUrls.Select(pr =>lstReplaceWordsFromUrls .ForEach

好的,我想要的很简单,但我写不好

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

URL
是一个
列表

lstReplaceWordsFromUrls
是一个
列表

下面是不工作,因为我正在做一个语法错误,我需要帮助来修复它谢谢

lstCrawlUrls = lstCrawlUrls.Select(pr =>lstReplaceWordsFromUrls
                           .ForEach{mr =>( pr.Replace(mr.Key, mr.Value); }))
                           .ToList<string>();
我用listB替换ListA的值,因此ListA如下所示

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

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

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

对于单行程序来说,这是一些难以阅读的代码,我会选择for循环。您遇到的问题是,ForEach没有返回值。@这不是我要问的。天哪,我不明白为什么有些人仍然不能非常清楚地解释这个问题和投票unclear@MonsterMMORPG:你可能会被否决,因为你有不合理的限制,要求一条班轮,还因为您没有发布编译器错误,也许还因为这确实是一个简单的循环问题,经验丰富的初学者应该能够处理。那只是我的猜测。
lstCrawlUrls = lstCrawlUrls.Select(pr => lstReplaceWordsFromUrls.Aggregate(pr, (str, mr) =>( str.Replace(mr.Key, mr.Value); )));