num2){Console.WriteLine("計算を開始します。解説15~18行目は加算メソッドを定義しています。このメソッドは2つの整数値を受け取り、加算結果をコンソールに表示します。21~24行目は減算メソッドを定義しています。このメソッドは2つの整数値を受け取り、減算結果をコンソールに表示します。27~32行目は計算機メソッドを定義しています。このメソッドの引数に注目してください。第1引数はデリゲート、第2,3引数は整数値を受け取ります。デリゲートを渡しているので、このメソッドは呼び出し側より処理するデータ以外にも、処理する内容を渡すようになっています。Calcデリゲート型の変数calcが宣言されていますが、30行目にあるように、その変数名をメソッド名のように扱うことができます。これにより、calc変数に登録されているメソッドが実行されます。プログラム次に、Mainメソッドを記述しましょう。解説37行目ではデリゲート型の変数を宣言しています。この変数にメソッドを登録する予定です。61~78行目でメニューに応じて分岐をします。加算を選択した場合は65行目でデリゲート型のcalc変数に加算メソッド名を指定してAddingDataメソッドを登録しています。減算を選択した場合は69行目でデリゲート型のcalc変数に減算メソッド名を指定してSubtractionDataメソッドを登録しています。両方を選択した場合は、73行目で加算メソッドを登録し、74行目で減算メソッドを加算しています。このように指定することでcalc変数から2つのメソッドを登録した順に呼び出すことができます。ここまででcalc変数に代入した処理と、入力した2つの数値を計算機メソッドに渡して実行してもらいます。どの処理を選んだかによって何が実行されるかが変わってきます。その他)終了:11つ目のデータ:22つ目のデータ:3計算を開始します。足し算の結果は5です。その他)終了:21つ目のデータ:62つ目のデータ:4計算を開始します。引き算の結果は2です。その他)終了:91つ目のデータ:102つ目のデータ:5計算を開始します。足し算の結果は15です。引き算の結果は5です。