C# 需要更新列表项,然后将其放入文本文件

C# 需要更新列表项,然后将其放入文本文件,c#,linq,C#,Linq,所以我在做这个c#程序,它基本上是一台咖啡机。要求用户注册并在文本文件中添加实例,然后登录,然后从提供的列表中询问他想要哪种咖啡,最后增加一个名为“coffee points”的属性。问题是我不知道如何更新文本文件中的咖啡点。我可以得到咖啡点并将它们增加1,然后在控制台中打印它们,但是,我不知道如何只更新某个用户的文本文件中的咖啡点 下面是我用来检索登录用户的咖啡点并将其递增1,并将其存储在变量“newCoffeePoints”中的代码 int newCoffeePoints=0; for(in

所以我在做这个c#程序,它基本上是一台咖啡机。要求用户注册并在文本文件中添加实例,然后登录,然后从提供的列表中询问他想要哪种咖啡,最后增加一个名为“coffee points”的属性。问题是我不知道如何更新文本文件中的咖啡点。我可以得到咖啡点并将它们增加1,然后在控制台中打印它们,但是,我不知道如何只更新某个用户的文本文件中的咖啡点

下面是我用来检索登录用户的咖啡点并将其递增1,并将其存储在变量“newCoffeePoints”中的代码

int newCoffeePoints=0;
for(int i=0;i
正是出于这个目的,我们有很多不同类型的数据库,如Mongo、SQL等

但如果您试图序列化/反序列化对象并将其保存到其他类型的序列化文件中,则可能需要考虑JSON格式。图书馆是我们(C#开发者)通常使用的

您可以创建一个反映您需要的虚拟结构。 因为我们可能希望通过键查找对象,所以
字典
集合比
列表
更适合

字典中对用户执行任何需要执行的操作,然后将其序列化为JSON,并使用
File.WriteAllText(JSON)
方法将其保存到光盘

是在每次更新后执行(以便在应用程序崩溃时保存所有数据)还是在应用程序即将完成执行时执行一次将取决于您的需要

字典字段可以是以下内容:

// CKeyType here is a type of customer's id field such as int, string etc.
private static readonly CustomerDict = new Dictionary<CKeyType, Customer>();
//CKeyType这里是一种客户id字段,如int、string等。
private static readonly CustomerDict=new Dictionary();

您可以使用JSON和Newtonsoft库轻松解决此问题。(上面提到的Fabjan)

以下是Microsoft Virtual Academy的教程链接,您可以按照此链接进行操作


您将要了解人们为什么喜欢数据库——他们抽象了持久存储的概念,提供了一个对应用程序有意义的API。首先,您需要决定“文本文件”的格式(考虑XML或JSON,它们都有使“序列化”变得容易的API)。然后,您需要考虑在每次事务之后是否将“文本文件”保持最新,或者如果您想定期保持同步,或者在启动时是否要读取该文件,并在结束时保存它。这只是我正在处理的一个学校作业。没有什么特别之处最简单的方法是1)使用XML或JSON与标准序列化API,2)在应用程序启动时读入文件,反序列化为“对象”,3)仅在程序正常操作范围内操作对象,4)将对象序列化回XML或JSON,退出时覆盖文件谢谢。。我会的^_^
// CKeyType here is a type of customer's id field such as int, string etc.
private static readonly CustomerDict = new Dictionary<CKeyType, Customer>();