質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

3回答

2592閲覧

ReadLine() に代入できない

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/11/08 11:16

static void Main(string[] args) { int x = int.Parse(Console.ReadLine()); Console.WriteLine(x); }

この時にReadLine()の中に具体的な数値や文字を入れてみたいんですがエラーが起こってしまいます。どのようにしたらよいでしょうか。またReadLIneの一文字分の文字を読み取るとはどういうことなのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Console.ReadLineはキー入力で一行読み込む関数です。
実行したときに、画面から数字を入力すれば、入力した数字が数値に変換されて画面に表示されます。
数字の入力は数字キーを押下して、最後にEnterキーを押下します。
キーボードから、以下の様に入力します。
123[Enter]

上記のプログラムを一行単位に分解しました。

c#

1 string number = Console.ReadLine(); // キーボードから数字を入力すると、文字列のnumberに数字が入る 2 int x = int.Parse(number);      // 数字をint型の数値に変換する 3 Console.WriteLine(x);         // 入力された数値を画面に表示する

投稿2020/11/08 12:05

akiruno-oneone

総合スコア815

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

draq

2020/11/09 01:15

> Console.ReadLineはキー入力で一行読み込む関数です。 これは間違っています。キー入力ではなく、標準入力から1行読み込みます。パイプやリダイレクトでデータを渡された場合は、キー入力なしでデータが読み込まれます。
退会済みユーザー

退会済みユーザー

2020/11/09 13:52

「パイプやリダイレクトでデータを渡す」というのはデバックすることですか?
draq

2020/11/09 14:18

> 「パイプやリダイレクトでデータを渡す」というのはデバックすることですか? 違います。例えば、windowsなら type test.txt | Console1.exe とか Console1.exe < test.txt とかのことです。単独で起動された場合は、「キー入力で一行読み込む」動作になります。 正確には、標準入力が空の場合にキー入力を待ち受けます。
Zuishin

2020/11/09 14:28

空ではなく標準入力が CON に接続されている場合にキー入力を受け付けます。パイプ指定せず実行した場合にはデフォルトで CON がリダイレクトされます。何も入力しない NUL デバイスというものもあります。 https://www.pg-fl.jp/program/dos/doscmd/dev_nul.htm 例えば copy con a.txt というコマンドを実行すると、キー入力を a.txt にリダイレクトします。 copy nul a.txt の場合は空のファイルが出来上がります。
draq

2020/11/09 14:33

言われてみれば確かに私の説明もあまり正確ではなかったですね。補足ありがとうございます。
退会済みユーザー

退会済みユーザー

2020/11/13 15:29

忙しくて返信が遅くなってしまいすいませんでした。皆さんありがとうございます。
guest

0

普通に動きますが? 何が問題でしょう。

C#

1using System; 2 3class test 4{ 5 static void Main(string[] args) 6 { 7 int x = int.Parse(Console.ReadLine()); 8 9 Console.WriteLine(x); 10 } 11}

ただし、実行は、コマンドプロンプトから実行し、入力は、"123"<Enter> とか、"321"<Enter> のように数字のみを入力。

投稿2020/11/08 11:48

pepperleaf

総合スコア6385

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/09 13:48

回答ありがとうございます。
guest

0

Console.ReadLine メソッド (System) | Microsoft Docs

ReadLine は引数は取りません。
そもそも1行読み込むメソッドですよ。

投稿2020/11/08 11:45

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/09 13:48

回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問