文字列の長さ(文字列中の文字の数)は、その文字列オブジェクトのLengthプロパティより取得することができる。
string mystr = "こんにちわ";
int mystrLen = mystr.Length;
文字列オブジェクトは頻繁に使用されるため、作成時にコンストラクタの呼び出しを省略できるが、すべての文字列はStringクラス(System名前空間)のインスタンスであり、LengthプロパティはそのStringクラスで定義されているプロパティだ。
次のサンプル・プログラムからも分かるように、Lengthプロパティでは文字の全角/半角にかかわらず、文字の数を取得する。
// length.cs
using System;
class ShowLength {
public static void Main() {
string mystr = "戦争はんたい!";
int mystrLen = mystr.Length;
Console.WriteLine(mystrLen);
// 出力:7
mystr = "StopWar";
Console.WriteLine(mystr.Length);
// 出力:7
Console.WriteLine("ノーモアウォー".Length);
// 出力:7
}
}
// コンパイル方法:csc length.cs
Lengthプロパティに限らず、.NET Frameworkのクラス・ライブラリでは、全角/半角の区別なく文字列を処理する。これはプログラミングするうえでメリットとなることも多いが、ファイルやネットワークに対する入出力などで文字列をコード化するような場合には(文字をコードとして操作するような場合には)、使用する文字コード体系によっては全角文字と半角文字のバイト数が異なる場合があるので注意が必要だ。これについては、「TIPS:文字列のバイト数を取得するには?」を参照していただきたい。
カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
関連TIPS:文字列のバイト数を取得するには?
Copyright© Digital Advantage Corp. All Rights Reserved.