title: Efficient way to search for phrases that contain specific words
body: <p>I need the most efficient way to do it in C#. </p>
  
  <p>Assuming:</p>
  
  <ol>
  <li>Collection1: <code>{"I am good", He is best", They are poor", "Mostly they are average", "All are very nice"}</code></li>
  <li>Collection2: <code>{"good", "best" ,"nice"}</code></li>
  </ol>
  
  <p>I want to search all <code>Collection2</code> items in <code>Collection1</code> and store the matching results in <code>Collection3</code>, so <code>Collection3</code> would be like this:</p>
  
  <p>Collection3: <code>{"I am good", "I am best", "All are very nice"}</code></p>