文字列から長さや、一部分を取得する。半角、全角を区別しない場合はString.Lengthで良いが、区別する場合はEncoding.GetByteCountでエンコーディングを使用した上で取得する必要がある。
var test1 = "abcd12e";
var test2 = "abcd1e";
// 半角、全角を考慮しない場合はこれでOK。
Console.WriteLine(test1.Length); // 7
Console.WriteLine(test2.Length); // 6
// 半角、全角を考慮しない場合はこれでOK。
Console.WriteLine(test1.Substring(4, 2)); // "12"
Console.WriteLine(test2.Substring(4, 2)); // "1e"
var test1 = "abcd12e";
var test2 = "abcd1e";
// エンコーディングを定義する。
var ecd = Encoding.Default;
// 半角、全角を区別する場合はこの方法で取得する。
Console.WriteLine(ecd.GetByteCount(test1)); // 7
Console.WriteLine(ecd.GetByteCount(test2)); // 7
// 半角、全角を区別する場合はこの方法で取得する。
Console.WriteLine(ecd.GetString(test1byte, 4, 2)); // "12"
Console.WriteLine(ecd.GetString(test2byte, 4, 2)); // "1"