以下代码要求输入您的姓名。
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string s = Console.ReadLine();
Console.WriteLine("Your name: " + s);
Console.Write("Enter your surname: ");
int r = Console.Read();
Console.WriteLine("Your surname: " + r);
Console.ReadLine();
}
}
输入名称后,程序将成功显示您的输入。但是,输入姓氏后,程序立即停止。据我理解,这是一种安慰。Read()应该返回我输入的字符串(ASCII码?)的第一个字符的int值。
为什么程序在控制台之后立即终止。读()?不应该安慰。ReadLine()确保程序保持打开?我正在使用Visual Studio 2012。
当您告诉控制台输入您的姓氏时,您要求输入一个字符。
Console.Write("Enter your surname: ");
int r = Console.Read();
这当然应该是一个ReadLine,然后是退出前的另一个ReadLine。您可能正在输入第一个字符(进入阅读),然后是随后的字符,然后点击回车键接受姓氏,但您实际上是在将退出的ReadLine上。所以:
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string s = Console.ReadLine();
Console.WriteLine("Your name: " + s);
Console.Write("Enter your surname: ");
// change here
string surname = Console.ReadLine();
Console.WriteLine("Your surname: " + surname);
Console.ReadLine();
}
}
int r=控制台后,程序不会终止。给我读一读。
根据控制台应用程序的运行方式,它将执行所有代码行,然后返回。一旦完成,这将关闭程序,因为它已经做了它需要做的所有意图和目的。当它完成时,它不会无所事事地开放。
如果您想让它保持窗口打开,请编写控制台。最后的Readline()
,它将保持打开状态,直到完成一些输入。我记得当我开始的时候有这个问题,这不是程序意外关闭的问题,而是你想在控制台关闭之前看到结果。