提供4位数字长的序列号失败

Ell*_*993 4 c# string

我必须获取序列号,其中包括Member从用户那里获得的序列号,并将其添加到4位成员的序列号中。如果我得到888newMemberIdwill将8880001,然后在下一个循环中8880002,依此类推,问题是当获得十个索引时,我将获得888010此代码。为什么?

while (dbNof.AllMembers.Any(x => x.MemberId == newMemberId))
{
    numerator++;

    newMemberId = Member + 
                  numerator.ToString().PadLeft(5-numerator.ToString().Length, '0');
}
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 8

如果要格式化输出(4在您的情况下至少为数字),请使用格式化:

 newMemberId = Member + numerator.ToString("d4");
Run Code Online (Sandbox Code Playgroud)

或(字符串插值):

 newMemberId = $"{Member}{numerator:d4}";
Run Code Online (Sandbox Code Playgroud)