代码之家  ›  专栏  ›  技术社区  ›  Jim Dalinder

如何保存控制台的“状态”

  •  0
  • Jim Dalinder  · 技术社区  · 7 年前

    例如

    switch (UserInput)
    {
        case 1:
            Console.WriteLine("Case 1");
            break;
        case 2:
            Console.WriteLine("Case 2");
            break;
        default:
            Console.WriteLine("Default case");
            break;
    }
    

    如果用户输入“2”,程序写入“案例2”。如何保存该状态,以便用户再次打开程序时仍显示“案例2”,而不显示其他消息?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Lukas Hieronimus Adler    7 年前

    控制台没有状态。您可以这样做:

    public void WriteState(string state)
        {
            using (StreamWriter writer = new StreamWriter("Your Path to your File"))
            {
                writer.WriteLine(state);
            }
        }
    
        public string GetState()
        {
            string saveText = "";
            using (StreamReader reader = new StreamReader("Your Path to your File"))
            {
                string text;
                if ((text = reader.ReadLine()) != null)
                {
                    saveText += text;
                }
            }
            return saveText;
        }
    

    如果您的控制台有任何事务,请使用WriteEstate功能。 如果重新启动应用程序,请使用GetState函数

        2
  •  0
  •   Lord Darth Vader    7 年前

    控制台按设计没有状态,解决此问题的一种方法是将所选状态保存到某种文本文件或数据库中