 <p>There is no significant difference between these, you will get pretty much the same results:</p> <pre><code> str.Split(';').First() vs. str.Split(';')[0] </code></pre> <p>For your second comparison, here you are asking only the first element</p> <pre><code>list.Where(x =&gt; x &gt; 1).First() </code></pre> <p>So as soon as <code>WhereIterator</code> returns an item it's done. But in second you are putting all results into list then getting the first item using indexer , therefore it will be slower.</p>