1

我想防止 CMD 在运行程序后自动关闭。

代码:

static void Main(string[] args)
    {

        FileStream textfsw = new FileStream("fileone.txt", FileMode.Append, FileAccess.Write); // CREATING FILE
        StreamWriter textsw = new StreamWriter(textfsw);

        Console.Write(" Enter your ID: ");
        int ID = int.Parse(Console.ReadLine());
        Console.Write(" Enter your Name: ");
        string Name = Console.ReadLine();
        Console.WriteLine(" Thank you! your logged in as" +Name+ +ID);

        textsw.Close();
        textfsw.Close();

        FileStream textfs = new FileStream("fileone.txt", FileMode.Open, FileAccess.Read); // READING A FILE USING ReadAllLines
        StreamReader textsr = new StreamReader(textfs);

        String[] lines = File.ReadAllLines("fileone.txt");
    }

截屏: 运行截图后

我想在运行后显示以下内容并防止 cmd 关闭:

Thank you! your logged in as John Smith 12345

任何答案将不胜感激。

谢谢你。

4

2 回答 2

7

您可以使用Console.ReadKey(), 等待直到按下单个键(并返回它,但在这种情况下我们不需要它)。

这是一种替代方法Console.ReadLine()Console.Read()需要用户按回车键。


顺便说一句,在使用文件访问(并使用IDisposable通常实现的对象)时,您应该使用using语句来确保在所有情况下都释放所有资源:

using(FileStream textfs = new FileStream("fileone.txt", FileMode.Open, FileAccess.Read))
{
    using(StreamReader textsr = new StreamReader(textfs))
    {
        // Do things with textfs and textsr
    }
}

另请注意,由于您正在使用File.ReadAllLines,因此不需要上述任何内容,因为它会为您完成。

于 2013-04-25T13:22:59.593 回答
4

最后使用Console.Read()来实现这一点。

Console.WriteLine("Thank you! your logged in as" + Name + ID);
Console.Read();

正如乔治所提到的,您也可以使用 ReadKey() 或者您可以使用 ReadLine();

于 2013-04-25T13:22:45.573 回答