これは初心者向けの質問です。英語が下手でごめんなさい。
これがプログラムです:
using System;
public class BoolTest
{
static void Main()
{
Console.Write("Enter a character: ");
char c = (char)Console.Read();
if (Char.IsLetter(c))
{
if (Char.IsLower(c))
{
Console.WriteLine("The character is lowercase.");
}
else
{
Console.WriteLine("The character is uppercase.");
}
}
else
{
Console.WriteLine("Not an alphabetic character.");
}
}
}
MSDNの出力は次のとおりです。
文字を入力してください:X
文字は大文字です。
追加のサンプル実行は次のようになります。
文字を入力してください:x
文字は小文字です。
文字を入力してください:2
文字は英字ではありません。
私の出力は、このバージョンのコードについては何も述べていません。ifステートメントの前にwhile(1 == 1)行を追加すると、次のように3行の出力が得られます。
文字を入力してください:X
文字は大文字です。
文字は英字ではありません。
文字は英字ではありません。
文字を入力してください:x
文字は小文字です。
文字は英字ではありません。
文字は英字ではありません。
文字を入力してください:2
文字は英字ではありません。
文字は英字ではありません。
文字は英字ではありません。
elseステートメントの最後にConsole.ReadLine()を試しましたが、機能しません。また、elseブロックのコメントをwhile(1 == 1)でテストしましたが、出力行は1つしかありません。
同じサンプルコードの出力に3行が含まれているのはなぜですか?