または、複数のキャラクターの長さのサブストリングの場合、次のことを使用できます。
しかし、.NET 3.5ユーザーの場合、より簡潔で効率的な解決策がLINQを使用することでした:
<code class="language-csharp">string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;</code>
または、選択できます:
<code class="language-csharp">string haystack = "/once/upon/a/time/"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;</code>
驚くべきことに、初期文字除去方法は、LINQまたはスプリットメソッドよりも約30%高速です。文字列のベンチマークテスト「/and/on/a/time/」は、次のクロノグラフの結果を生成します。
<code class="language-csharp">int count = source.Count(f => f == '/');</code>文字置換方法:12秒
source.count:19秒
<code class="language-csharp">int count = source.Split('/').Length - 1;</code>
source.split:17秒
以上が.NETで文字列の発生をカウントする最速の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。