C#入門③ データ型は「箱の種類」

前回は「変数は、データに名前をつけた箱」という話をしました。

今回は、その箱に書いてあった int の正体です。これがデータ型です。

データ型とは、箱に入れる「中身の種類」のことです。

なぜ、種類が必要なのか

前回、こう書きました。

int score = 100;

この int は「この箱には整数を入れますよ」という宣言でした。

なぜ、わざわざ種類を決めるのでしょうか。中身が何でも入る箱の方が、便利な気もします。

これも料理でたとえると分かりやすいです。容器には、用途に合った種類があるからです。

汁物を紙袋には入れません。お米を液体用のボトルには入れません。中身に合った容器を選ぶから、うまく扱えます。

データも同じ。「数」と「文字」では、扱い方がまったく違います。だから、箱を作るときに「これは数を入れる箱」「これは文字を入れる箱」と種類を決めておくのです。

よく使う3つの型

最初に覚えるのは、この3つで十分です。

int age = 20;            // 整数(int)
string name = "山田";     // 文字列(string)
bool isActive = true;    // 真偽(bool)

ひとつずつ見てみます。

int(整数)
1, 100, -5 のような、小数点のない数を入れる箱です。年齢、個数、得点など。

string(文字列)
"山田"、"おはよう" のような、文字を入れる箱です。名前、メッセージなど。文字は ダブルクオート(")で囲む のがルールです。

bool(真偽)
true(はい)か false(いいえ)の、2つだけを入れる箱です。「ログインしているか」「年齢が18以上か」のような、YESかNOで答えられるものに使います。

型が違うと、入れられない

種類が決まっているので、違う種類のものは入れられません

int age = "二十歳";   // 整数の箱に、文字を入れようとしている。エラー!

age は整数(int)の箱なのに、文字("二十歳")を入れようとしています。容器の種類が合っていないので、エラーになります。

最初は「面倒だな」と感じるかもしれません。でも、これは間違いを早く教えてくれる仕組みです。種類が合わないものを入れようとした瞬間に「それは違うよ」と教えてくれる。むしろ、ありがたい仕組みなんです。

つまずきポイント

初心者がよく混乱するのが、数字と文字列の違いです。

int number = 100;        // 数の100
string text = "100";     // 文字としての100

見た目は同じ「100」ですが、まったくの別物です。

int の 100 は計算できます(100 + 1 = 101)。
でも string の "100" は、文字としての「1」「0」「0」の並びなので、計算には使えません。

「画面では同じに見えるのに、中身は違う」。これは、これから何度も出てくる大事な感覚です。

まとめ

データ型は、箱に入れる中身の種類。
まずは int(整数)、string(文字列)、bool(真偽)の3つを覚えれば十分です。

次回は、その数を使って計算する方法、演算子について書きます。