【发布时间】:2013-01-07 20:40:35
【问题描述】:
这是一个初学者类型的问题,我很抱歉我的英语不好。
这是程序:
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) 行,我会采用三行输出,例如:
输入一个字符:X
字符是大写的。
该字符不是字母字符。
该字符不是字母字符。
输入一个字符:x
字符是小写的。
该字符不是字母字符。
该字符不是字母字符。
输入一个字符:2
该字符不是字母字符。
该字符不是字母字符。
该字符不是字母字符。
我尝试了 else 语句的 Console.ReadLine() 结尾,但不起作用。我还用 while (1==1) 测试了 else 块的注释,我只得到 1 个输出行..
我想知道为什么对于相同的示例代码,输出包含 3 行?
【问题讨论】:
-
您的项目是否设置为控制台应用程序?
-
是的,这是作为控制台应用程序创建的
-
您是否在字符之间按下
enter按钮?如果是这样,那实际上是两个非字母字符。 -
非常感谢史蒂夫,这实际上是我的回答..