<p>Si vous utilisez .NET 3.5, vous pouvez le faire en une seule ligne avec LINQ :</p>
<pre><code class="lang-auto">int count = source.Count(f => f == '/');
</code></pre>
<p>Si vous ne voulez pas utiliser LINQ, vous pouvez le faire avec :</p>
<pre><code class="lang-auto">int count = source.Split('/').Length - 1;
</code></pre>
<p>Vous pourriez être surpris d’apprendre que votre technique originale semble être environ 30 % plus rapide que l’une ou l’autre de ces méthodes ! J’ai fait un rapide benchmark avec “/once/upon/a/time/” et les résultats sont les suivants :</p>
<p>Votre original = 12s</p>
<p>source.Count = 19s</p>
<p>source.Split = 17s</p>
<p>foreach (<a href="https://stackoverflow.com/a/541976/662581">de la réponse de bobwienholt</a>) = 10s</p>
<p>(Les temps sont pour 50 000 000 itérations, donc vous ne remarquerez probablement pas beaucoup de différence dans le monde réel.)</p>