运行后C#阻止CMD自动关闭?

时间:2013-04-25 13:21:51

标签: c# console console-application filestream

我想阻止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");
    }

截图: after running screenshot

我希望在运行后显示以下内容并阻止cmd关闭:

Thank you! your logged in as John Smith 12345

任何答案都将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:7)

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

这是Console.ReadLine()Console.Read()的替代方法,需要用户按Enter键。


作为帮助,当使用文件访问(并使用通常实现IDisposable的对象)时,您应该使用using statements来确保在所有情况下释放所有资源:

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,因此您不需要上述任何内容,因为它会为您提供。

答案 1 :(得分:4)

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

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

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