序号要求:
1.位数5位
2.以C0001开始,数字部分依次递增,如C0002,C0003...;当序号至C9999时,下一序号字母按字母表递增变为D0001,依次类推;当序号为Z9999时,下一序号变为AA001,然后数字部分递增,如AA002,AA003...;当序号为AA999时,下一序号变为AB001;依次类推;当序号ZZ999时,下一序号变为AAA01,AAA02...依此类推变为ZZZZ9时,返回为空;
1.位数5位
2.以C0001开始,数字部分依次递增,如C0002,C0003...;当序号至C9999时,下一序号字母按字母表递增变为D0001,依次类推;当序号为Z9999时,下一序号变为AA001,然后数字部分递增,如AA002,AA003...;当序号为AA999时,下一序号变为AB001;依次类推;当序号ZZ999时,下一序号变为AAA01,AAA02...依此类推变为ZZZZ9时,返回为空;
然后将后4位转成int型,自增1
如果是10000,就把第一位字母也往后移动一位
如果小于10000, 用 .ToString().PadLeft(4,'0')拼接到首字母后面
如果数字可以+1,+1直接返回。
如果数字不可以+1,处理字母部分。
char[] idc = id.ToCharArray();
将字母串,分割成一组char
如果最后一个字母不是Z,将最后一个字母转成int ASSIC码,+1后转回字母,同时int部分也得改变(01、001还得经行处理判断)
如果最后一个字母是Z,判断前一个字母(还得判断是不是Z,递归上去),然后处理同上大概想想是这样的吧,注意字母大小写ASSIC码不同
TO:zhujiawei7,我将会试试你说的方法,ID分成数字部分和字母部分先前也考虑过,字母和数字位数一个动态的感觉有点复杂,就没有再深入考虑;
TO:lld31,GUDI 是什么?如何实现