C#のRead()メソッドとReadLine()メソッドの違いとは?使い分けのポイントを解説
C#でコンソールアプリケーションを開発する際、ユーザーからの入力を受け付けるために使われるのがConsole.Read()とConsole.ReadLine()です。どちらも標準入力からデータを読み取るメソッドですが、動作や戻り値に重要な違いがあります。本記事では、それぞれの特徴と使い分けのポイントをわかりやすく解説します。
Read()メソッドとは
Read()メソッドは、標準入力ストリームから次の1文字を読み取ります。戻り値はint型であり、読み取った文字に対応するUnicode文字コード(整数値)が返されます。文字そのものではなくコードポイントが返される点に注意が必要です。
また、コンソール上でいずれかのキーが押されると処理が完了し、プログラムが次へ進むという特性もあります。
int a = Console.Read(); Console.WriteLine(a);
この例では、たとえば「A」というキーが押された場合、変数aには文字「A」そのものではなく、その文字コードである「65」が格納されます。
ReadLine()メソッドとは
ReadLine()メソッドは、標準入力ストリームから1行分の文字列を読み取ります。戻り値はstring型で、ユーザーがEnterキーを押すまでに入力したすべての文字を取得できます。
主に、ユーザーに入力を促して処理を一時停止させたい場合や、複数文字の入力を受け取りたい場面で活用されます。
使用例
以下は、ReadLine()を使ってコンソール画面を一時停止させる典型的な例です。
using System;
class Program {
static void Main() {
int x = 10;
Console.WriteLine(x);
Console.Write("\n続行するには何かキーを押してください... ");
Console.ReadLine();
}
}
実行結果
10 続行するには何かキーを押してください...
両者の違いまとめ
| 項目 | Read() | ReadLine() |
|---|---|---|
| 読み取り単位 | 1文字のみ | 1行全体 |
| 戻り値の型 | int(文字コード) | string(文字列) |
| 主な用途 | 単一キーの検出 | 文字列入力・画面の一時停止 |
このように、単一のキー入力を文字コードとして取得したい場合はRead()を、行単位の文字列入力やコンソールの一時停止を行いたい場合はReadLine()を使うのが適切です。用途に応じて正しく使い分けることで、より使いやすいコンソールアプリケーションを作成できます。
-
JavaScriptにおける関数とメソッドの違いとは?わかりやすく解説
JavaScriptにおいて、関数とメソッドは本質的には同じものです。両者の違いは、メソッドがオブジェクトのプロパティとして定義された関数であるという点にあります。つまり、独立して定義されたものを「関数」、オブジェクトに紐づけられたものを「メソッド」と呼びます。 JavaScriptの関数の基本形 まず、一般的な関数の定義方法を見てみましょう。 function functionname(param1, param2){ // 処理内容 } JavaScriptのメソッドの例 メソッドは、オブジェクトに関連付けられた関数です。次の例では、employeeオブジェクトの中にdetails
-
C#におけるstringとStringの違いは何ですか?
C#のstringとStringの違いC#プログラミングにおいて、stringとStringはどちらも同じ型を指しますが、その扱いには微妙な違いがあります。Stringは.NET FrameworkのクラスであるSystem.Stringを直接表すものであり、一方、stringはC#言語が用意しているSystem.Stringのエイリアス(別名)です。つまり、両者はコンパイル後にまったく同じものとして扱われます。基本的な使い方の例string str = Welcome!;このように文字列変数を宣言する際は、通常小文字のstringを使用します。使い分けの目安厳密なルールはありませんが、一般的