質問: (char)b; Console.WriteLine("ch:" + ch); } } ``` わからないのは最後の行です ここでビルドすると ch:xになるのですが、なぜxになるのでしょうか? また、charは文字を一文字だけ保持する役割だと知りましたが、これの存在意義はあるのでしょうか。
回答: 前提としてコンピューター上の情報は基本的に0/1の2状態(ビット)の組み合わせで表されます。`char`は16ビットで0~65535の数値を表しており、それぞれの整数に文字が割り振られています(UTF-16)。これらの`char`を複数個配列に格納した型が文字列型の`string`です。このような事情でコンピューター上での文字列表現には文字型が不可欠です。 `char`型は`ToString`をオーバーライドしており、前述のUTF-16に対応する文字を含んだ`string`を返すようになっています。なので文字列結合の+演算子を使うと`char`は数値ではなく文字になります。