Here is a little Alpha numeric counter I have written that will either continue counting or will return the next value.
public string AlphaNum(string val)
{
StringBuilder sb = new StringBuilder(val);
bool incNext = false;
for (int n = sb.Length; n > 0; n--)
{
if (n == sb.Length || incNext)
{
char nextChar;
char letter = Convert.ToChar(sb.ToString(n - 1, 1));
if (letter == '9')
{
incNext = true;
nextChar = 'A';
}
else if (letter == 'Z')
{
if (n - 2 > -1)
{
if (sb.ToString(n - 2, 1) != "Z")
{
incNext = true;
nextChar = '0';
}
else
{
incNext = true;
nextChar = 'Z';
}
}
else
{
incNext = true;
nextChar = 'Z';
}
}
else
{
nextChar = (char)(((int)letter) + 1);
incNext = false;
}
sb.Remove(n - 1, 1).Insert(n - 1, nextChar.ToString());
}
}
return sb.ToString();
}
No comments:
Post a Comment