これから本格的に C# によるプログラミングを解説して行くことになりますが、 ただ文章で説明するよりも実際にサンプルプログラムを挙げて説明するほうが分かりやすいと思うので、 そうして行きたいと思います。 また、ただ単に計算を行うだけのプログラムよりも、 ユーザーからの入力を受け取って、計算結果を出力するようなもののほうが面白いでしょうから、 そのようなサンプルプログラムを挙げていきたいと思っています。
そのためにまず、C# の文字ベースプログラムにおける入出力の行い方について簡単に説明しておきます。 ただ、現時点ではまだ詳しい説明は出来ませんので、 「とりあえずこうすれば入出力が行える」ということだけ覚えておいてもらうことになります。
C#でユーザーからの入力を受け取りたい場合、
Console.ReadLine
というものを使います。
string str = Console.ReadLine(); // ユーザーの入力した文字列を1行読み込む
数値を入力したい場合には、さらに Parse というものを使って、以下のようにします。
int n = int.Parse(Console.ReadLine()); // ユーザーの入力した整数を読み込む double x = double.Parse(Console.ReadLine()); // ユーザーの入力した実数を読み込む
int や double については
「変数と式」
で、
Console については
「ライブラリ」
で説明します。
計算結果などを出力したい場合には
Console.Write
というものを使います。
int m = 1, n =3; Console.Write("m = {0}, n = {1}", m, n); // 文字や数値の出力
この出力の仕方はフォーマット出力といって、
{0} とある場所に m の値が、
{1} とある場所に n の値が書き込まれます。
例えば上述のサンプルの出力結果は以下のようなものになります。
m = 1, n = 3
using System; class InputOutputSample { static void Main() { // 入力を促すメッセージの表示して、文字を入力してもらう Console.Write("あなたのお名前は? : "); string name = Console.ReadLine(); // 入力を促すメッセージの表示して、数値を入力してもらう Console.Write("あなたのお年は? : "); int age = int.Parse(Console.ReadLine()); // メッセージの出力 Console.Write("{0} ({1}歳) さん、ようこそお越しくださいました。", name, age); } }
あなたのお名前は? : tiyu あなたのお年は? : 12 tiyu (12歳) さん、ようこそお越しくださいました。
GUI プログラム(Windows アプリ)を使って演習問題(の1部)を解いてもらうために、 演習用 GUI プログラムの雛形を用意しました。
プログラムは図1に示すような見た目で、 A ~ E のテキストボックスに値を入力し、 [Run] ボタンを押してプログラムを実行します。
GUI プログラムの大部分は、この時点までの知識では説明できませんが、 今はとりあえず、分からない大部分は無視してもらって、 Form1.cs 中の「TODO: ↓ここに演習問題の回答コードを書いてください」というコメントのある部分だけ書き換えてください。
演習問題の多くは基本的に CUI プログラム(コマンドプロンプト)を前提に作っていますが、 値を入力してもらって、何らかの計算を行って、結果を出力するタイプの演習問題には、 この雛形プログラムを利用できます。
Console.Write を用いて、自分の名前を画面に表示せよ。
Console.ReadLine を用いて文字列を1行読み込み、 Console.Write を用いて読んだ文字列をそのまま鸚鵡返しするプログラムを作成せよ。
おまけ: 1度読み込んだ文字列を2度ずつ鸚鵡返しするものを作成せよ。