動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

全角文字・Surrogate Pairで末尾が壊れる

出典: VB.net の Right / Mid / Left を C# に翻訳する完全早見表ハマりポイント:早見表に入れにくい3つの罠 / 全角文字・Surrogate Pairで末尾が壊れる

全角文字・Surrogate Pairで末尾が壊れる (csharp)#f3681c003f30
public static string RightByGrapheme(string s, int length)
{
    if (string.IsNullOrEmpty(s) || length <= 0) return string.Empty;
    var si = new System.Globalization.StringInfo(s);
    if (length >= si.LengthInTextElements) return s;
    int startElement = si.LengthInTextElements - length;
    return si.SubstringByTextElements(startElement, length);
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #f3681c003f30
  • lines: 8
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「ハマりポイント:早見表に入れにくい3つの罠 / 全角文字・Surrogate Pairで末尾が壊れる」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

6
図鑑トップ