title: How to replace two or more strings with each other?
body: <p>I need to replace some parts of a string with each other using C#.
  I could find only one similar question about how to achive this <a href="https://stackoverflow.com/questions/2285782/how-to-replace-2-strings-with-eachother-simultaneously-in-php">here</a> but it was PHP.</p>
  
  <p>My situation involves a Dictionary[string, string] which holds pairs to replace like:</p>
  
  <ul>
  <li>dog, cat   </li>
  <li>cat, mouse,</li>
  <li>mouse, raptor</li>
  </ul>
  
  <p>And I have a string with the value of:</p>
  
  <pre><code>"My dog ate a cat which once ate a mouse got eaten by a raptor"
  </code></pre>
  
  <p>I need a function to get this:</p>
  
  <pre><code>"My cat ate a mouse which once ate a raptor got eaten by a raptor"
  </code></pre>
  
  <p>If I enumerate the dictionary and call string.Replace by order, I get this:</p>
  
  <pre><code>"My raptor ate a raptor which once ate a raptor got eaten by a raptor"
  </code></pre>
  
  <p>It's weird if this hasn't been asked before, (Is it common knowledge?) but I couldn't find any. So I'm sorry if it has and I missed it.</p>