ホームページ > バックエンド開発 > C++ > .NETで文字列の発生をカウントする最速の方法は何ですか?

.NETで文字列の発生をカウントする最速の方法は何ですか?

Patricia Arquette
リリース: 2025-01-31 06:41:07
オリジナル
383 人が閲覧しました

What's the Fastest Way to Count String Occurrences in .NET?

文字列countをカウントする最良の方法特定の文字列で特定の文字またはサブストリングですべての回数を見つけます。この記事では、特に統計文字列のスラッシュ(/)の場合、最も効果的で便利な方法に焦点を当てています。 まず、キャラクターの交換を使用することを検討できます。

または、複数のキャラクターの長さのサブストリングの場合、次のことを使用できます。

しかし、.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 == '/');
ログイン後にコピー
文字置換方法:12秒

source.count:19秒
int count = source.Split('/').Length - 1;
ログイン後にコピー

source.split:17秒

    foreachループ(他の回答から):10秒
  • これらの時間の違いは実際のアプリケーションでは明らかではないかもしれませんが、元の文字置換方法は、この状況で依然として最速です。

以上が.NETで文字列の発生をカウントする最速の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート