title: StringSplitOptions.RemoveEmptyEntries equivalent for TextFieldParser
body: <p>I recently learn <code>TextFieldParser</code> to parse <code>words</code> where previously I would use <code>string.Split</code> to do so. And I have a question regarding the newly learned <code>class</code>.</p>
  
  <p>If we parse a message like this using <code>string.Split</code> with <code>StringSplitOptions.RemoveEmptyEntries</code></p>
  
  <pre><code>string message = "create    myclass   \"56, 'for better or worse'\""; //have multiple spaces
  string[] words = message.Split(new char[] { ' ' }, 3, StringSplitOptions.RemoveEmptyEntries);
  </code></pre>
  
  <p>Then we will get <code>words</code> which contain three elements like this:</p>
  
  <pre><code>[0] create
  [1] myclass
  [2] "56, 'for better or worse'"
  </code></pre>
  
  <p>But if we do it with <code>TextFieldParser</code></p>
  
  <pre><code>string str = "create    myclass   \"56, 'for the better or worse'\"";
  var parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(new StringReader(str)); //treat string as I/O
  parser.Delimiters = new string[] { " " };
  parser.HasFieldsEnclosedInQuotes = true; 
  string[] words2 = parser.ReadFields();
  </code></pre>
  
  <p>Then the <code>return</code> will consists of some <code>words</code> without text</p>
  
  <pre><code>[0] create
  [1]
  [2]
  [3]
  [4] myclass
  [5]
  [6]
  [7] "56, 'for better or worse'"
  </code></pre>
  
  <p>Now is there equivalent way to remove the empty <code>words</code> in the resulting array as <code>string.Split</code> <code>StringSplitOptions.RemoveEmptyEntries</code> does?</p>