0
我寫下面的代碼來生成我的8位數字符號,增量應該從左到右發生。如何在c中生成字母數字序列號
想我開始編號ABC00001下一個增量數量將ABC00002
數量將增加多達9,9後,將變成。 如:ABC00009 - > ABC00000A - > ABC00000B - > ... - > ABC00000Z
Z後,將倒數第二位數目變化爲ABC0000A1 - > ABC0000A2 ...
public static string GeneratedNextevcPrimakryKey()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
string str = string.Empty;
var maxNumber = "ONC0BJKZ";
string splitnumber = maxNumber.Substring(3, 5);
char[] temp = splitnumber.ToCharArray();
//find last index number/character
for (int i = splitnumber.Length - 1; i >= 0; i--)
{
if (char.IsNumber(splitnumber[i]))
{
int fifthvalue = Convert.ToInt32(splitnumber[i].ToString());
//increment 5th digit character
if (fifthvalue == 9)
{
temp[i] = 'A';
break;
}
else
{
fifthvalue = fifthvalue + 1;
string f = Convert.ToString(fifthvalue);
temp[i] = Convert.ToChar(f);
//sb.Append(fifthvalue);
break;
}
}
else
{
char letter = splitnumber[i];
char nextChar = new char();
if (letter == 'z')
{
string strvalue = Convert.ToString(1);
temp[i] = Convert.ToChar(strvalue);
}
else if (letter == 'Z')
{
//last digit character
string strvalue = Convert.ToString(1);
temp[i] = Convert.ToChar(strvalue);
str = new string(temp);
break;
}
else
nextChar = (char)(((int)letter) + 1);
temp[i] = nextChar;
str = new string(temp);
break;
}
}
return str;
}
也許誰upvoted可以[編輯]一問到這個? – Will
這裏有什麼問題嗎?您是否遇到錯誤或意外結果?您是否在尋求有關如何使其更好/更快的反饋? –
是的,我的輸出沒有正確生成。 –