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>
コードの詳細説明
Enumerable.Range(0, str.Length / chunkSize)
までの整数のシーケンスを生成します。各整数はブロックの開始インデックスを表します。 str.Length / chunkSize - 1
Select
は、インデックス i => str.Substring(i * chunkSize, chunkSize)
から始まるサイズ i * chunkSize
の部分文字列を抽出します。 chunkSize
IEnumerable<string>
例外処理
このソリューションは、最も一般的な状況を効率的に処理します。ただし、次のようないくつかの例外を考慮する必要があります。
chunkSize
chunkSize
で割り切れません
概要
この記事で提供されるソリューションは、文字列を指定されたサイズのチャンクに分割する包括的な方法を提供します。そのシンプルさと効率性により、文字列操作タスクにおいて貴重なツールとなります。例外を考慮し、特定のニーズに合わせてソリューションを調整することで、より幅広いシナリオに適応できます。以上がC# で文字列を指定したサイズのチャンクに効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。