跨Mutliple.txt文件的C#序列号

跨Mutliple.txt文件的C#序列号,c#,C#,我在学C。我现在正在开一家商店。 用户也可以选择将产品作为购物车,当用户付费时,它将保存到文本文件中。但是我现在也希望每张收据都有一个“序列号”,一张收据是这样的 Receipt: #0 2020-09-19 -------------------------- Receipt: #0 2020-09-19 -------------------------- 他们今天还保存了一个名为Receipt_的文件,所以如果我明天也创建了一个新文件,它将被称为Receipt_2020-09-20,依此

我在学C。我现在正在开一家商店。 用户也可以选择将产品作为购物车,当用户付费时,它将保存到文本文件中。但是我现在也希望每张收据都有一个“序列号”,一张收据是这样的

Receipt: #0 2020-09-19
--------------------------
Receipt: #0 2020-09-19
--------------------------
他们今天还保存了一个名为Receipt_的文件,所以如果我明天也创建了一个新文件,它将被称为Receipt_2020-09-20,依此类推。 但是我想在我所有的收据上都有一个序列号,所以如果我的第一张收据上有数字,1,2,3,4,那么我也希望另一张收据从5开始


我不确定该如何处理和执行此操作,我想我可以将所有数字保存到一个名为SerialNumbers或类似文件的单独文件中,然后检查最后一个数字是什么。但是我也希望在不创建太多需要的文本文件的情况下完成这项工作。

有一些解决方案

1.使用Guid而不是序列号 使用
Guid.NewGuid()
生成唯一标识符。一个优点是,您不需要使用此工具跟踪以前的数字

2.从最后一个收据文件中读取最后一个编号 如果您有权访问所有文件,您可以解析它们的名称,以确定哪一个是最新的文件。一旦有了它,您就可以打开它,检索最新的序列号,并从中递增

编辑: 考虑到您的文件包含以下内容

Receipt: #1, Receipt: #2, Receipt: #3
您可以使用此代码查找最后一个号码

string fileContent=“收据:#1,收据:#2,收据:#3”;
int lastNumber=int.Parse(fileContent.Split('#').Last());
Debug.WriteLine(lastNumber);

在这种情况下,输出为
3
。从那里你可以增加这个数字。

有一些解决方案

1.使用Guid而不是序列号 使用
Guid.NewGuid()
生成唯一标识符。一个优点是,您不需要使用此工具跟踪以前的数字

2.从最后一个收据文件中读取最后一个编号 如果您有权访问所有文件,您可以解析它们的名称,以确定哪一个是最新的文件。一旦有了它,您就可以打开它,检索最新的序列号,并从中递增

编辑: 考虑到您的文件包含以下内容

Receipt: #1, Receipt: #2, Receipt: #3
您可以使用此代码查找最后一个号码

string fileContent=“收据:#1,收据:#2,收据:#3”;
int lastNumber=int.Parse(fileContent.Split('#').Last());
Debug.WriteLine(lastNumber);

在这种情况下,输出为
3
。从那里你可以增加这个数字。

谢谢,我也决定使用最后一种方法,找到最后一个收据文件。无论如何,现在我被困住了。如何在文件中找到最后一张“收据:#0”,因为一个日期可以包含多张收据。如何在文件中写入您的号码?如果你告诉我你的文本文件是如何构造的,我可以编辑我的答案。比如:收据:#1,收据:#2,收据:#3等等。我现在尝试的只是找到最后一个#的索引,然后在该索引上+1并找到数字。然而,如果我的数字是10,那么就会出现问题。我添加了代码示例,以从您提供的文件内容中获取最后一个数字。(即使是包含2个或更多数字的数字也可以使用。)我有点不高兴,收到后我还有一些文字:#3。所以这对我不起作用。不管怎样,我已经解决了。我只需找到“#”的最后一个索引,然后从那里将其子串起来。然后在“”处拆分,然后第一个条目将是我的号码。也许不是解决这个问题的最佳方法,但我就是这样做的。谢谢,我也决定使用最后一种方法,找到最后一个收据文件。无论如何,现在我被困住了。如何在文件中找到最后一张“收据:#0”,因为一个日期可以包含多张收据。如何在文件中写入您的号码?如果你告诉我你的文本文件是如何构造的,我可以编辑我的答案。比如:收据:#1,收据:#2,收据:#3等等。我现在尝试的只是找到最后一个#的索引,然后在该索引上+1并找到数字。然而,如果我的数字是10,那么就会出现问题。我添加了代码示例,以从您提供的文件内容中获取最后一个数字。(即使是包含2个或更多数字的数字也可以使用。)我有点不高兴,收到后我还有一些文字:#3。所以这对我不起作用。不管怎样,我已经解决了。我只需找到“#”的最后一个索引,然后从那里将其子串起来。然后在“”处拆分,然后第一个条目将是我的号码。也许不是解决这个问题的最佳方法,但我就是这样做的。