この章のテーマ §
言語機能の学習に使用しているコンソールについて学習します。コンソールは言語機能の一部ではありませんが、サンプルソースの実行に利用されています。
前提知識 §
文字列の基礎, 変数の基礎, string型
解説 §
コンソールは、C#の言語の一部ではありませんが、サンプルソースを実行するために使用しているので解説します。
コンソールは多くのビギナーが利用する機能です。いわゆるハロー・ワールドを実行するために使用されることが多いからです。
なぜコンソールが使用されることが多いのかと言えば、それは入出力のプログラミングがシンプルだからです。何しろ、出力する文字を指定するだけでその文字が出てきます。
他の入出力の技術は、もっと複雑なコードを必要とします。
しかし、コンソールは単なる入門者用の機能でありません。
実は、以下の特徴があるので、上級者が利用することも多い機能です。
- 結果をファイルに記録することが容易
- 入力内容をファイルから読み込ませることが容易
- 複数コマンドを連携することも容易
- 決まり切った手順を実行するバッチと呼ばれるコマンドを作成することが容易
コンソールの上位パワーアップ版とも言えるPowerShellも含めて、専業のIT管理者やベテランのプログラマーが多用する機能と言えます。覚えておいて損はないと言いきっても良いでしょう。
とても手軽ですが、奧の深い機能です。
罠の数々 §
- コンソールは一般的に黒字に白い文字が出てくるが、利用者の設定次第でいくらでも変更できる
- コンソールとほぼ同じもののショートカットが複数用意されていることもある。それらは追加の特殊設定を持っていることがあるので、区別して使いこなそう。
- 音を出すConsole.Beep();メソッド、1行入力するConsole.ReadLine();メソッドなどもある。他にもいろいろな機能があるので、余裕ができたら調べてみると良いだろう。ただし、上級機能も多いので、全て使いこなすのは上級者になるまで無理かも知れない
- Console.Beep();メソッドは意外と便利である。時間の掛かる処理の最後に入れておくと終わったことを音で知らせてくれる。ずっと画面を見ている必要がない
参考リンク §
Console クラス
サンプルソース: console §
// いわゆるハロー・ワールド
Console.WriteLine("Hello, World!");
// 改行を伴わない出力
Console.Write("It's");
Console.Write(" Cool!");
// 改行だけ行う
Console.WriteLine();
// 音を出す
Console.Beep();
// 1行入力する
var s = Console.ReadLine();
Console.WriteLine($"入力されたのは\"{s}\"");
実行結果 (実行すると音が出る。そのあとで、Kawamata Akira+Enterキーを入力した) §
Hello, World!
It's Cool!
Kawamata Akira
入力されたのは"Kawamata Akira"
リポジトリ §
https://github.com/autumn009/CSharpPrimer2
練習問題 §
Console.Write();メソッドとConsole.WriteLine();は何が違うのだろうか。
正しくないものを選ぼう。
- 最後に改行を入れるか否か
- メソッドの名前が違う
- 書き込みのWriteだから、読み込みはReadになる
- 引数のないConsole.WriteLine();メソッドは存在し、改行だけ行うが、引数のないConsole.Write();メソッドは存在しない。改行すらしないからなくても同じだからである
- コンソールはどんな文字でも扱える。絵文字だって扱える
[[解答]]