C# 按日期顺序排列字符串。
我有一个函数,它给我12位字符串 例如C# 按日期顺序排列字符串。,c#,asp.net,loops,C#,Asp.net,Loops,我有一个函数,它给我12位字符串 例如 AA 01 201 210 22 AA 02 201 210 22 . . AA 99 201 210 22 AB 01 201 210 22 & so on. . . 现在的问题是,第二天这个序列应该从AA 01 201 210 23重新开始 有人能帮我吗。 无论您在哪里存储n,都要在其旁边存储一个DateTimedt 每次递增n,检查dt是否等于Datetime。今天 如果是,请像以前一样传递n 如果没有,则将n设置为零(或一),并将dt
AA 01 201 210 22
AA 02 201 210 22
.
.
AA 99 201 210 22
AB 01 201 210 22
& so on. . .
现在的问题是,第二天这个序列应该从AA 01 201 210 23重新开始 有人能帮我吗。
- 无论您在哪里存储
,都要在其旁边存储一个DateTimen
dt
- 每次递增
,检查n
是否等于dt
Datetime。今天
- 如果是,请像以前一样传递
n
- 如果没有,则将
设置为零(或一),并将n
设置为dt
DateTime.Today
- 如果是,请像以前一样传递
dt
传递到GetPersonalId
中,而不是在函数中使用DateTime.Today
,以防DateTime.Today
两种用法之间的日期变化)
e、 g.如果你有
int currentN = 0;
...
string GetNextPersonalId()
{
currentN += 1;
return GetPersonalId(currentN);
}
换成
int currentN = 0;
DateTime currentDay = DateTime.Today;
...
string GetNextPersonalId()
{
if (DateTime.Today == currentDay)
{
currentN += 1;
}
else
{
currentN = 0; // or 1
currentDay = DateTime.Today;
}
return GetPersonalId(currentN);
}
想法是:每天您需要将“n”值重置为1 使此功能按预期工作的最简单方法:
当前代码有什么问题?@w0lf当前代码工作正常。。。。但是对于第二天,这个序列应该从AA 01 201 210 23重新开始…如何做…?您如何生成传递给函数的
n
?@w0lf,我猜变量“letter1”和“letter2”在日期更改时没有重置为默认值。@oded是一个自动递增的编号,每次在我们的网站上注册新用户时都会生成该编号。。
int currentN = 0;
DateTime currentDay = DateTime.Today;
...
string GetNextPersonalId()
{
if (DateTime.Today == currentDay)
{
currentN += 1;
}
else
{
currentN = 0; // or 1
currentDay = DateTime.Today;
}
return GetPersonalId(currentN);
}