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