C#の文字列の長さを取得する方法!Lengthプロパティを初心者向けに解説
生徒
「C#で文字列の長さを調べる方法ってありますか?」
先生
「はい、C#ではLength(レングス)プロパティを使えば、文字列が何文字あるのかを簡単に調べることができます。」
生徒
「プロパティってなんですか?ちょっと難しそうです…」
先生
「プロパティというのは、オブジェクト(この場合は文字列)が持っている性質や情報のことです。Lengthは文字列が持っている“長さ”という情報を取り出す機能なんですよ。」
生徒
「なるほど!実際にどんな風に使うのか見てみたいです。」
先生
「それでは、サンプルコードを使って一緒に確認してみましょう!」
1. 文字列の長さを調べるLengthプロパティとは?
C#でプログラミングをしていると、「入力された文字が長すぎないか?」「空欄になっていないか?」など、文字の数をチェックしたい場面が非常に多くあります。そんな時に役立つのがLength(レングス)プロパティです。
Lengthプロパティは、文字列の中に「何個の文字が入っているか」を数えて、その結果を整数の数値(int型)として教えてくれる機能です。初心者の方は、「文字列の箱の中に何文字詰まっているかを測る定規」のようなものだとイメージすると分かりやすいでしょう。
例えば、プログラミング未経験の方でもイメージしやすいよう、名前の文字数を数える簡単な例を見てみましょう。
string name = "田中太郎";
int count = name.Length; // ここで文字数を数えている
Console.WriteLine("お名前は " + count + " 文字です。");
お名前は 4 文字です。
このように、変数名.Lengthと書くだけで簡単に数字を取り出すことができます。「田中太郎」なら4、「Hello」なら5、といったように、英語・日本語・数字などを問わず、単純に「1文字を1」としてカウントしてくれます。特別な設定なしで直感的に使えるのが、Lengthプロパティの大きな特徴です。
2. Lengthプロパティの基本的な使い方
C#で文字列の長さを取得するのは、驚くほど簡単です。Length(レングス)というプロパティを使うだけで、その文字列が「全部で何文字あるか」を一瞬で数えてくれます。
プログラミングが初めての方でも分かりやすいように、まずは最もシンプルなコード例を見てみましょう。たとえば、「Hello C#」という文字が何文字なのかを調べてみます。
// 調べたい文字列を準備します
string text = "Hello C#";
// Lengthを使って文字数を数え、int型(整数)の変数に代入します
int length = text.Length;
// 結果を画面に表示します
Console.WriteLine("文字列の長さは " + length + " です。");
このプログラムを実行すると、画面には次のように表示されます。
文字列の長さは 8 です。
ここで「あれ?」と思った方もいるかもしれません。「Hello」が5文字、「C#」が2文字で合計7文字に見えますよね。しかし、「Hello」と「C#」の間にある半角スペースも「1文字」としてカウントされるため、正解は「8」になります。
このように、Lengthは目に見える文字だけでなく、空白(スペース)なども含めた「データの合計数」を正確に教えてくれる非常に便利な機能です。入力されたパスワードの長さをチェックしたり、文章が長すぎないか確認したりする際に欠かせない、C#プログラミングの基本中の基本と言えるでしょう。
3. 日本語の文字列でも使える?(全角・半角のカウント)
プログラミング初心者の方がよく抱く疑問に、「Lengthプロパティは英語(半角英数字)専用なの?」というものがありますが、安心してください。C#のLengthは、日本語のひらがな、カタカナ、漢字といった「全角文字」も、英語と同じように1文字として正しくカウントしてくれます。
実際に、日本語のあいさつ「こんにちは」という文字列を使って、文字数を調べてみるサンプルコードを見てみましょう。
string greeting = "こんにちは";
int count = greeting.Length; // 文字数を数えて変数に入れる
Console.WriteLine("「" + greeting + "」の文字数は " + count + " です。");
「こんにちは」の文字数は 5 です。
このように、「こんにちは」は5文字なので、実行結果もしっかりと「5」になります。たとえ「C#プログラミング」のように、半角英数字と日本語が混ざっていても、見たままの文字数を返してくれるのがLengthの便利なポイントです。
ただし、一点だけ注意があります。Lengthが数えるのは「コンピューターから見た文字の数」です。そのため、絵文字などの特殊なキャラクターを扱う場合には少し結果が変わることがありますが、通常のアプリ開発で使う日本語(漢字・ひらがな等)であれば、このまま直感的に使って問題ありません。初心者の方は、まずは「日本語でも英語でも、見た通りの文字数が取得できる」と覚えておきましょう。
4. 空の文字列やスペースを含む場合
もし文字列が空っぽ(何も文字がない状態)の場合、長さは0になります。
string empty = "";
Console.WriteLine(empty.Length); // 出力結果は 0
0
また、空白(スペース)も1文字として数えられます。例えば「ABC 」という文字列には最後にスペースが1つあるので、結果は4になります。
string text = "ABC ";
Console.WriteLine(text.Length); // 出力結果は 4
4
5. Lengthを使った便利な活用例
実際のアプリケーションでは、文字数を使って条件を判定する場面が多いです。例えば「パスワードが8文字以上かどうか」を確認する例を見てみましょう。
string password = "abc123";
if (password.Length >= 8)
{
Console.WriteLine("パスワードの文字数は十分です。");
}
else
{
Console.WriteLine("パスワードは8文字以上にしてください。");
}
パスワードは8文字以上にしてください。
このように、Lengthを使うことで簡単に「何文字あるか」を基準にした判定が可能になります。
6. 配列や他のデータ型との違い
ここで少し補足です。文字列(string)のLengthは「文字数」を表しますが、配列のLengthは「要素数」を表します。つまり文字列と配列の両方にLengthがありますが、意味は文脈によって異なります。
例えば次のようなコードです。
int[] numbers = { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers.Length); // 出力結果は 5
5
この場合は「配列に5つの要素がある」という意味での長さです。文字列の場合は「文字数」と覚えておくと分かりやすいでしょう。
まとめ
C#で文字列の長さを調べるにはLengthプロパティを使うのが基本です。このLengthはとてもシンプルで直感的に使える機能で、プログラミング初心者でもすぐに理解しやすいのが特徴です。たとえば、入力された文字列の長さをチェックしたり、特定の条件に合うかどうかを判断する際に活躍します。
英語でも日本語でも、1文字ずつ正しくカウントされるため、日本語のようなマルチバイト文字でも安心して利用できます。さらに、空の文字列は「0」として扱われ、スペース(空白)もちゃんと1文字として数えられるため、細かなチェックが求められる場面でも役立ちます。
現実のアプリケーションでは、ログインフォームや会員登録画面、メッセージ投稿欄など、ユーザーの入力内容に対して長さのチェックを行う場面がとても多くあります。そのため、Lengthプロパティを適切に使うことで、安全かつ正確なプログラムを作成できるようになります。
また、Lengthは文字列だけでなく、配列やリストなどにも使えるという点も重要です。文字列では「文字数」、配列では「要素数」というように、用途によって意味は少し異なりますが、いずれにせよ「その中にどれだけの要素があるか」を知るための共通の手段として覚えておくと非常に便利です。
Lengthを活用したパスワード入力のチェック例
using System;
class Program
{
static void Main()
{
Console.Write("パスワードを入力してください: ");
string input = Console.ReadLine();
if (input.Length >= 8)
{
Console.WriteLine("パスワードの長さは適切です。");
}
else if (input.Length == 0)
{
Console.WriteLine("パスワードが空です。入力してください。");
}
else
{
Console.WriteLine($"パスワードが短すぎます(現在 {input.Length} 文字)。8文字以上にしてください。");
}
}
}
上記の例では、パスワードが8文字以上か、空でないかをLengthで判定しています。これにより、ユーザーの入力内容に対してフィードバックを的確に返すことができます。
なお、全角文字が含まれる場合でも、Lengthは文字単位で正確にカウントされるため、日本語での入力がある場合でも問題なく利用できます。たとえば「パスワード123」という文字列であれば、全角の「パスワード」は5文字、数字3文字の合計8文字と判断され、条件を満たす形になります。
生徒
「Lengthプロパティって簡単なのに、こんなにいろんなところで使えるんですね!」
先生
「その通りです。文字数のチェックは基本的な操作ですが、実務では非常によく使われます。」
生徒
「英語だけじゃなくて日本語にも対応してるのが安心でした!あと、空文字やスペースの扱いも確認できてよかったです。」
先生
「C#はマルチバイト文字にも強いので、国際化対応が求められるアプリでもしっかり活躍してくれますね。」
生徒
「これからはLengthを使ってパスワードチェックや入力制限を実装してみます!」
先生
「とても良い姿勢ですね。基本的な機能をしっかり使いこなせると、より応用力も身についていきますよ。」