用c#中的Dictionary替换字符串中的单词

now*_*ed. 2 c# dictionary replace .net-4.5

我有一个dictionary这样的简单:

var fruitDictionary = new Dictionary<string, string> {Apple,Fruit}, {Orange, Fruit}, {Spinach, Greens}

我有一个字符串

var fruitString = Apple Orange Spinach Orange Apple Spinach

如何用matching-word字典替换该句子中所有出现的特定单词?

(即)上面的句子应该是Fruit Fruit Greens Fruit Fruit Fruit什么?

任何想法都非常感谢.

编辑:

我试过这样的事情:

var outputString = string.Empty;
fruitString.ToArray().ToList().Foreach(item =>
{
if (fruitDictionary.ContainsKey(item))
{
 outputString = outputString + fruitDictionary[item];

} 
Run Code Online (Sandbox Code Playgroud)

对此有何最佳解决方案?上面的代码不是最优的,因为它完成traversing给定数组的整个长度!

Sim*_*ead 7

只是:

var output = new StringBuilder(fruitString);

foreach (var kvp in fruitDictionary)
    output.Replace(kvp.Key, kvp.Value);

var result = output.ToString();
Run Code Online (Sandbox Code Playgroud)

这只是StringBuilder用你的初始化a fruitString,并迭代Dictionary,用它替换它找到的每个键.