値を返すことができる命令もあるよ
こんにちは!
先日のM-1グランプリ2018。本当に面白かったのは優勝した「霜降り明星」か、それとも惜しくも敗れた「和牛」か の議論があるようですが
「どう考えてもジャルジャル一択だろ」
な、あらたまです!
さて今日は はじめてのC#入門 第11回目。
今回はユーザーが入力した文字列の受け取りかたです!
おさらい
前回 では、文字列型の変数のつかいかたをお話ししましたね。
String hensu;
hensu = "mojiretu";
今回はユーザーが入力した文字列を、その変数で受け取ってみたいと思います!
値を返す命令
C#の命令の中には、呼び出しもとに値を返すものがあります。
それを専門用語では「戻り値」とか「返り値」とか呼んだりします。
早速ですが、完成例を見てみましょう。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jp.Artm.Blog.Csarp.Introduction
{
class Program
{
static void Main(string[] args) {
String hensu;
Console.WriteLine("文字を入力してください。");
hensu = Console.ReadLine();
Console.WriteLine(hensu);
Console.WriteLine("終了するにはエンターキーを押してください");
Console.ReadLine();
}
}
}
前回と違うところ
前回で使った例と変わったところ、気がつきましたか?
じつは変わったのは1行だけ。
hensu = "mojiretu";
となっていたところが、
hensu = Console.ReadLine();
に変わりましたね。
ReadLine命令の本当の役割
さて「=」の右側に書いたこの「Console.ReadLine()」という命令、 よく見ると2個所で使われていますね。
もう一か所は 第5回 で、プログラムが起動したあとすぐ終了してしまわないように追加したものです。
このとき、
この命令は、「ユーザーがエンターキーを入力するまで待機する」 という役割を持っています。と、ご説明しました。
実はこの説明は不完全で、本当は
「ユーザーがエンターキーを入力するまで待機し、それまでに入力された文字列を返す」
というのが本当の役割です。
その動きの特徴を使って、第5回ではエンターキーが押されるまでプログラムが終了してしまわないように という形で活用しました。 ですが、本来の役割は今回のようにユーザーからの入力を受け取ることなのですね。
戻り値を変数で受け取っている
それでは、あらためてもう一度プログラムを見てみましょう。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jp.Artm.Blog.Csarp.Introduction
{
class Program
{
static void Main(string[] args) {
String hensu;
Console.WriteLine("文字を入力してください。");
hensu = Console.ReadLine();
Console.WriteLine(hensu);
Console.WriteLine("終了するにはエンターキーを押してください");
Console.ReadLine();
}
}
}
上から順番に
- 文字列型の変数「hensu」を用意し
- ReadLine命令の戻り値を「hensu」で受け取っています。
- WriteLine命令で「hensu」の中身を表示して
- ReadLine命令でユーザーがエンターキーを押すまで待機しています。
プログラムを実行してみる
それでは、実際に動かして動作を確認してみましょう!
今回はここまでです!
次回はプログラムの分かれ道のつくりかたについてお話したいと思います!
次回へ続く