ホームページ > バックエンド開発 > C++ > C# で文字を繰り返す最も速い方法は何ですか?

C# で文字を繰り返す最も速い方法は何ですか?

DDD
リリース: 2025-01-03 11:36:38
オリジナル
524 人が閲覧しました

What's the Fastest Way to Repeat a Character in C#?

C# で文字を繰り返す最良の方法: 構文とパフォーマンスの最適化

C# では、繰り返しの文字で構成される文字列を作成するさまざまな方法があります。最も効率的で適切な方法を決定するために、オプションを詳しく調べてみましょう:

LINQ バージョン:

private string Tabs(uint numTabs)
{
    IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
    return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : "";
}
ログイン後にコピー

LINQ アプローチは簡潔ですが、不要なオーバーヘッドが発生します。 LINQ 操作の使用 (繰り返し、 Aggregate).

StringBuilder バージョン:

private string Tabs(uint numTabs)
{
    StringBuilder sb = new StringBuilder();
    for (uint i = 0; i < numTabs; i++)
        sb.Append("\t");

    return sb.ToString();
}
ログイン後にコピー

StringBuilder のアプローチは簡単ですが、StringBuilder オブジェクトのメモリ割り当てのため、他のオプションと比較してわずかに遅くなる可能性があります。 .

文字列バージョン:

private string Tabs(uint numTabs)
{
    string output = "";
    for (uint i = 0; i < numTabs; i++)
    {
        output += '\t';
    }
    return output;
}
ログイン後にコピー

文字列バージョンは基本的なものであり、追加のクラス インスタンスは必要ありません。シンプルさと効率が優先される場合、これは良いオプションです。

最適化されたソリューション:

文字列バージョンをさらに最適化するには、次の構文の使用を検討してください:

static string Tabs(int n)
{
    return new string('\t', n);
}
ログイン後にコピー

この構文はループの必要性を排除し、次の文字列を生成する直接的かつ効率的な方法を提供します。指定された文字を含む必要な長さ。

結論:

これらのオプションの中から最適な選択は、アプリケーションの特定の要件によって異なります。パフォーマンスが重要なシナリオでは、最適化された文字列バージョンまたは新しい文字列構文をお勧めします。シンプルさと読みやすさが重要な基本的なシナリオには、基本的な文字列バージョンが適しています。

以上がC# で文字を繰り返す最も速い方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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