gpt4 book ai didi

c# - UWP/C# 存储应用程序用户数据的建议?

转载 作者:行者123 更新时间:2023-11-30 22:59:31 24 4
gpt4 key购买 nike

我需要一些关于存储数据的建议/意见。

我着眼于本质上存储用户输入数据,然后经常引用它。我想避免数据库存储,因为这都将在本地引用。我看到您可以执行 XML 序列化对象等操作,想知道您对数据存储的看法。

如果我逐步让您了解我正在考虑做什么,它可能会让您更好地了解我想要实现的目标:

  • 用户加载程序
  • 程序读取存储文件
  • 不同的控件,如 GridView 和文本框,显示文档的特定部分,如名称、日期等。
  • 用户可以通过在整个工作表的不同字段中输入数据来添加到文件。
  • 用户可以在需要时自由保存文件,可以在需要时创建新文件并可以随时打开工作表
  • 所有信息都需要扩展。即用户最多可以添加 50 个日期、30 个姓名等,并且这些中的每一个都不会干扰另一个数据字段。每种特定类型的所有这些数据都将能够被 ui 控件引用

这是一项艰巨的任务,我一直在考虑使用 XML 来完成这一切。我不确定这是否是最好的方法,希望得到您的意见。主要是由于数据可以通过用户输入随时动态调整的方式。

如有任何意见,我们将不胜感激。如有必要,我可以提供我想要实现的目标的图片。

最佳答案

我个人使用 Newtonsoft JSON 来保存我的用户数据。您可以像往常一样构建所有类,然后相当轻松地集成 JSON 序列化器/反序列化器,而不会遇到太多麻烦。会有一些异常(exception)情况可能需要自定义序列化程序,但实现这些并不难,特别是如果您只需要解释一小部分,然后可以将文件的其余部分传递给默认序列化程序。

这是一个非常简单的示例,说明如何在一个文件中存储多个用户的一些键值偏好设置。

using Newtonsoft.Json;

[JsonObject]
public class UserData {
[JsonProperty] //Add a JSON property "Username" which is a string
public string Username { get; set; }

//IEnumerable types are converted to/from arrays automatically by Newtonsoft
[JsonProperty("Options")] //Set the name in JSON file to "Options"
public Dictionary<string, string> Preferences { get; set; }

[JsonIgnore] //Excludes this property from the JSON output
public bool SaveRequired { get; set; } //Set true when a change is made, set false when saved
}

像这样的库非常相似,它们对 XML 做完全相同的事情,但我没有多少运气来弄清楚它们,而且当我只需要我知道有用的东西时,我通常时间紧迫.如果您能找到一个像样的 XML 库并了解如何正确使用它,我会推荐 XML 而不是 JSON,因为它具有严格的结构化性质,并且您可以包含模式版本并通过提供编写良好的模式来帮助集成到其他系统中。

关于c# - UWP/C# 存储应用程序用户数据的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52146994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com