【问题标题】:Saving answers in textfile将答案保存在文本文件中
【发布时间】:2014-05-09 13:43:31
【问题描述】:

有没有办法在文本文件 (.txt) 中“保存”用户数据并重新使用它们?我在 C# Visual Studio 2013 (WFA) 中编程 不允许使用数据库/XML 文件!

例如,我编写了一个包含几个问题的测验。当我开始测验并给出一些正确和错误的答案时,我需要能够保存我的答案,查看我的正确/错误答案,并且我必须能够重试我的错误答案。

【问题讨论】:

  • 是的,这当然是可能的。你试过什么吗?了解如何处理文件?
  • 在 google 中输入 c# text files 肯定比在这里输入这个问题要快得多。
  • Sinatr 说的是真的,虽然我倾向于相信你不知道该输入什么,并且根据你的问题,正确的东西被称为流阅读器和流作家,有很多网络上的教程和示例,但如果您发现自己在此过程中遇到困难,请发表评论。我会帮助你的,祝你好运!

标签: c# .net io


【解决方案1】:

网上有很多关于如何做到这一点的例子,而且我确信堆栈溢出的例子也很多。

要从 .txt 文件中读取,请检查此内容

Reading textFile and saving the info into an array C#

要写入文本文件,请查看

Saving from List<T> to txt

【讨论】:

    【解决方案2】:

    简短的回答是肯定的。长答案也不错。假设我们像这样构造一组类:

    public class Quiz
    {
        public List<Question> Questions { get; set; }
    
        public Quiz() { Questions = new List<Question>(); }
    }
    
    public class Question
    {
        public string Question { get; set; }
    
        public bool Answer { get; set; }
    }
    

    现在假设 UI 为测验构建了一个很好的问题集合,并且随着时间的推移将答案设置为真或假,是或否有你,所以最后我们需要保存它:

    File.WriteAllText(path, JsonConvert.SerializeObject(quiz));
    

    这会将整个测验和问题以 JSON 格式保存到文件路径中。

    现在我们需要重新加载;这就是我使用 JSON 的原因:

    var quiz = JsonConvert.DeserializeObject<Quiz>(File.ReadAllText(path));
    

    对对象进行更新(即答案更改)后,您可以再次运行:

    File.WriteAllText(path, JsonConvert.SerializeObject(quiz));
    

    注意:很明显(或者应该很清楚)每个测验都需要自己的文件。

    注意:这还需要您获得Json.NET NuGet package,它可以与NuGet Visual Studio Extension 一起安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      相关资源
      最近更新 更多