首頁 > 後端開發 > C++ > 如何將字符串分解為C#中的自定義段段?

如何將字符串分解為C#中的自定義段段?

Barbara Streisand
發布: 2025-01-27 01:26:09
原創
998 人瀏覽過

How Can I Chunkify a String into Custom-Sized Segments in C#?

有效地將字串分成C#

中的客製尺寸塊

>本文示範了將字串分為較小的,同等大小的段的C#方法。 想像一下您的字串很長:

<code class="language-csharp">string longString = "1111222233334444";</code>
登入後複製

>您需要將其分解成特定長度的區塊,每個字元說4個字元。所需的輸出將是:

<code>"1111"
"2222"
"3333"
"4444"</code>
登入後複製

>解:一種乾淨而簡潔的方法

實現此目的的最有效方法是使用linq的Enumerable.RangeSelect>:

<code class="language-csharp">static IEnumerable<string> ChunkifyString(string str, int chunkSize)
{
    if (string.IsNullOrEmpty(str) || chunkSize <= 0)
    {
        yield break; // Handle null, empty, or invalid chunk size
    }

    for (int i = 0; i < str.Length; i += chunkSize)
    {
        yield return str.Substring(i, Math.Min(chunkSize, str.Length - i));
    }
}</code>
登入後複製

這種改進的方法使用Afor循環,yield return進行更好的效能,尤其是在非常大的字串中。 它還明確處理無效的輸入字串和非陽性塊尺寸,從而使其更健壯。 Math.Min函數可確保最後一個區塊不會超過字串的剩餘長度。

>用法範例:

這將輸出:
<code class="language-csharp">string myString = "111122223333444455";
int chunkSize = 4;

foreach (string chunk in ChunkifyString(myString, chunkSize))
{
    Console.WriteLine(chunk);
}</code>
登入後複製

>這種方法優雅地處理了其長度不完全排除的弦線,以確保所有字元都包含在由此產生的區塊中。 該解決方案既簡潔又有效,非常適合各種字串操縱任務。

以上是如何將字符串分解為C#中的自定義段段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板