私はこのような何かやりたい - ユーザーが何の答えを与えていないし、単に押すと入力した場合、変数入力値null
を保存する必要があり、出力がNo answer given
でなければなりません。ここC#では、ヌル入力可能なブール型変数にキーボードからの入力をどのように取るのですか?
using System;
class MainClass
{
public static void Main()
{
bool? input;
Console.WriteLine ("Are you Major?");
input = bool.Parse (Console.ReadLine());
IsMajor (input);
}
public static void IsMajor (bool? Answer)
{
if (Answer == true) {
Console.WriteLine ("You are a major");
} else if (Answer == false) {
Console.WriteLine ("You are not a major");
} else {
Console.WriteLine ("No answer given");
}
}
}
を。
私のコードでは、true
とfalse
の入力はうまくいきます。
しかし、誰入力が与えられていないと入力している場合、コンパイラを押してはnull
値がに保存されている取得する方法
System.FormatExeption has been thrown
String was not recognized as a valid Boolean
だから、例外をスロー変数input
ので、出力はここNo answer given
、
です質問String was not recognized as a valid boolean C#
は、実際にはディプリカではありませんそれはキーボードから直接入力を受けたくないからです。そのような入力が取れない場合、回避可能な型があるので、null可能な型の有用性は何ですか?
コンソール入力を文字列に読み込み、bool.TryParseを使用します。 – Equalsk
しかし、それは道のりです。ヌル入力可能なデータ型の場合と同様に、ヌル入力を行うことができますか? – Suraj
[Stringは有効なブール値C#として認識されませんでした](https://stackoverflow.com/questions/40010816/string-was-not-recognized-as-a-valid-boolean-c-sharp) – mjwills