title: Find all combinations in a string separated
body: <p>I'm trying to get all combinations in a string in c# with that idea in mind:</p>
  
  <p>Given a string like <code>foo</code> I want to get a <code>List&lt;string&gt;</code> with the values:</p>
  
  <pre><code>f o o
  fo o
  foo
  f oo
  </code></pre>
  
  <p>As you can see it's not as easy as get all the substring but get ALL the chars in a string separated by spaces.</p>
  
  <p>I've tried doing something like:</p>
  
  <pre><code>List&lt;string&gt; result = new List&lt;string&gt;();
  string text = "foo";
  for (int i = 1; i &lt; foo.Lenght; i++) 
  {
      //I'm stucked --&gt; everything I think is too stupid and I don't know how to procede or not fast enough. I'm really stuck.
  }
  </code></pre>
  
  <p>EDIT:
  There are some correct answers but it's clear that any of them won't do since the strings I am working with have between 55 and 85 chars each one so that means that the best function in the answers will give me something between 2^54 and 2^84 possible combinations and that is just a bit too much.</p>
  
  <p>It is clear now that find all the combinations and afterwards do something with them won't do. I'll have to drop it.</p>