【なぜ英語になるの?】曜日表示から学ぶC#のやさしい基礎

C#で次のコードを書いてみました。

DateTime now = DateTime.Now;
Console.WriteLine(now.DayOfWeek);

実行結果:

Thursday

「あれ?日本語じゃないの?」

今日はこの疑問からスタートです。


① なぜ英語になるの?

DayOfWeek は、

「曜日をあらわす特別な値」

です。

中身は実はこうなっています。

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

つまり、

Console.WriteLine(now.DayOfWeek);

は、

👉 英語の名前をそのまま表示しているだけ

なんです。

難しく考えなくて大丈夫です。


② 日本語で表示するには?

曜日を日本語で表示したいときは、

「表示のしかた」を指定します。

DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("dddd"));

実行結果:

木曜日

これで日本語になります。


③ もう少し自然な文章にする

文章の中に入れることもできます。

Console.WriteLine($"今日は {now:dddd} です。");

実行結果:

今日は 木曜日 です。

ここで使っている

{変数:書き方}

は、

「この形で表示してください」

という意味です。

今は

dddd → 曜日を表示する書き方

と覚えておけば十分です。


④ 少しだけレベルアップ(配列を使う方法)

今まで学んだ「配列」を使うこともできます。

DateTime now = DateTime.Now;

string[] week = { "日", "月", "火", "水", "木", "金", "土" };

Console.WriteLine(week[(int)now.DayOfWeek]);

ここでやっていることは:

  1. 曜日は 0〜6 の数字を持っている
  2. その数字を配列の番号に使っている

つまり、

木曜日 → 4 → week[4] → "木"

という流れです。

これは少し発展ですが、

配列の復習にもなります。


⑤ 今日のまとめ

曜日表示だけでも、

  • 表示方法
  • 文字列補間
  • 配列

まで広がります。

「英語になった!」

という小さな違和感は、

👉 とても良い学習の入口

なのです。


訪問数 4 回, 今日の訪問数 4回

C#,列挙型,構造体

Posted by hidepon