我正在使用以下代码更新登录名。但它只会附加1。但是如果这个用户名也存在呢?
string loginname=txtusername.Text;
var userRec = Context.Repoj.Users.FirstOrDefault(u => u.LoginName == loginname);
if(userRec != null)
{
loginname = loginname + "1";
}
您可以在一个循环中多次检查它:
string originalLogin = txtusername.Text;
string loginname = originalLogin;
int counter = 1;
var userRec = Context.Repoj.Users.FirstOrDefault(u => u.LoginName == loginname);
while(userRec != null)
{
loginname = originalLogin + counter;
counter++;
userRec = Context.Repoj.Users.FirstOrDefault(u => u.LoginName == loginname);
}
注意:如果有大量的用户"ankit1"ankit2"ankit3";,依此类推,循环可能会运行很长时间,甚至可能直到无穷大。您可以检查counter
是否等于某个值(极端情况:int.MaxValue
(并引发异常。