ホームページ > バックエンド開発 > C++ > C# で文字列を指定したサイズのチャンクに効率的に分割するにはどうすればよいですか?

C# で文字列を指定したサイズのチャンクに効率的に分割するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-27 01:31:09
オリジナル
960 人が閲覧しました

How Can I Efficiently Split a String into Chunks of a Specified Size in C#?

C# 文字列の効率的なチャンク処理

プログラミングでは、文字列操作は非常に一般的であり、一般的なニーズの 1 つは、文字列を指定されたサイズのチャンクに分割することです。この記事では、包括的なソリューションを提供します。

次の文字列があるとします:

<code>string str = "1111222233334444";</code>
ログイン後にコピー

私たちの目標は、サイズ 4 のチャンクに分割し、次の部分文字列を生成することです。

<code>"1111"
"2222"
"3333"
"4444"</code>
ログイン後にコピー

C# を使用して文字列を分割

C# は強力な文字列操作メソッドを提供します。

メソッドは、指定された範囲内の整数のシーケンスを生成できます。 Enumerable.Range と組み合わせると、エレガントなソリューションを作成できます: Enumerable.Select

<code class="language-csharp">static IEnumerable<string> Split(string str, int chunkSize)
{
    return Enumerable.Range(0, str.Length / chunkSize)
        .Select(i => str.Substring(i * chunkSize, chunkSize));
}</code>
ログイン後にコピー

コードの詳細説明

  • は、0 から Enumerable.Range(0, str.Length / chunkSize) までの整数のシーケンスを生成します。各整数はブロックの開始インデックスを表します。 str.Length / chunkSize - 1
  • シーケンス内の各要素にラムダ式を適用します。ここで、ラムダ式 Select は、インデックス i => str.Substring(i * chunkSize, chunkSize) から始まるサイズ i * chunkSize の部分文字列を抽出します。 chunkSize
  • 結果は、分割されたチャンクを含む
  • です。 IEnumerable<string>

例外処理

このソリューションは、最も一般的な状況を効率的に処理します。ただし、次のようないくつかの例外を考慮する必要があります。

    空または空の文字列入力
  • は 0chunkSize
  • 文字列の長さは
  • chunkSize で割り切れません
実際のアプリケーションでは、これらの例外を処理するには追加のコードが必要です。具体的な処理方法は特定のシナリオに依存するため、この記事では詳しく説明しません。

概要

この記事で提供されるソリューションは、文字列を指定されたサイズのチャンクに分割する包括的な方法を提供します。そのシンプルさと効率性により、文字列操作タスクにおいて貴重なツールとなります。例外を考慮し、特定のニーズに合わせてソリューションを調整することで、より幅広いシナリオに適応できます。

以上がC# で文字列を指定したサイズのチャンクに効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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