增量计数器

时间:2015-11-04 11:14:07

标签: c# auto-increment

在我的应用程序中,有一个选项可供用户创建包含一些数据的简单txt文件。我想按顺序命名文件,如ST1,ST2 ....这个序列对所有用户都是一样的。如果user1创建文件系统,则应将文件命名为ST100,然后如果user2创建文件,则系统应将文件命名为ST101。

我无法使用应用程序范围,因为它只是准备就绪,无法在运行时更改,因为用户范围只影响单个用户而不影响整个应用程序。

我想知道除了使用数据库表和添加序列之外还有其他任何解决方案。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用循环和File.Exists

var dir = @"C:\SampleFolder";
int number = 100; // you want to start at 100
string fileName = String.Format("ST{0}.txt", number.ToString("D3"));
while(File.Exists(Path.Combine(dir, fileName)))
    fileName = String.Format("ST{0}.txt", (++number).ToString("D3"));

最后,您将拥有一个新的文件名,并获得正确的路径:

string path = Path.Combine(dir, fileName);

答案 1 :(得分:0)

如果您的应用程序始终处于打开状态,则可以使用全局变量为整个系统使用下一个条目的数值。 如果没有,您可以将文本文件用作具有当前文件号的数据库;此解决方案的问题是同步,如果两个用户同时执行相同操作可能会给您带来问题,那么最好使用数据库。

我希望它可以帮到你