質問: "あいうえお"; s.SubString(3, 2); //=> い という記事を見つけました。 私の解釈では 文字列△.Ansistring.Substring(A,B)と書いてあった場合 △という文字列の中のA番目からB文字分を抽出するという解釈なのですが、例の2つ目は「い」しか取り出せていません。 これはなぜなのでしょうか? ご教授よろしくお願いいたします。
回答: **AnsiString**だからでしょう。 s.SubString(3, 2); は 3文字目から2文字分 **ではなく** 3バイト目から2バイト分 なんでしょうね。 ついでに先頭が 0-origin **ではなく** 1-origin のようです。 (...こんなヘンテコな文字列、よぉ使わんわー)