当前位置: 首页 > 编程语言 > C#

自增字母数字字符串分享

时间:2023-04-10 17:48:38 C#

IncreaseAlphanumericString,它应该重置为00001我已经在c#中阅读了以下字母增量,使用charcc++似乎是最好的方法。我有下面的课程命名空间BatchNo_Generator{classRandomStringGenerator{publicenumMode{ALPHANUMERIC=1,ALPHA=2,NUMERIC=3,}publicstringgenbase(intlength,stringmode){intj=0;if(mode=="ALPHANUMERIC"){StringBuilders=newStringBuilder();while(j0;j--){if(checkend(s[j-1],endchar,'0',mode)==true){s[j-1]=resetchar(s[j-1],'0');incrementchar(s[j-1],模式);}else{charc=incrementchar(s[j-1],模式);s.Remove(j-1,1);s.Insert(j-1,c);}}返回s.ToString();}if(mode=="ALPHANUMERIC"){for(intj=i;j>0;j--){if(checkend(s[j-1],endchar,'0',mode)==true){s[j-1]=resetchar(s[j-1],'0');charc=incrementchar(s[j-1],模式);}else{{charc=incrementchar(s[j-1],模式);s.Remove(j-1,1);s.Insert(j-1,c);休息;}}}返回s.ToString();}返回””;}publiccharincrementchar(charc,stringmode){charcnew=c++;switch(mode){case"ALPHA":{if(char.IsLetter(c)==false){cnew++;}else{返回char.ToLower(c);}休息;}case"NUMERIC":{if(char.IsDigit(c)==false){cnew++;}else{返回c;}休息;}case"ALPHANUMERIC":{while(char.IsLetterOrDigit(c)==false){c++;}//if(char.IsLetterOrDigit(c)==false){cnew++;}//else{返回char.ToLower(c);}返回char.ToLower(c);休息;}}返回'?';}publicboolcheckend(charcurrent,charend,charstart,stringmode){if(current==end){返回真;}else{返回错误;}}publiccharresetchar(charinputchar,chardefaultchar){returndefaultchar;}publicstaticIEnumerableGetColumns(charstartchar,charendchar){strings=null;for(charc2=startchar;c2<=endchar+1;c2++){for(charc='A';c<='Z';c++){if(char.IsLetter(c)==true){yield返回s+char.ToLower(c);}}if(char.IsLetterOrDigit(c2)==true){s=c2.ToString();}}}}}我试过RandomStringGeneratortest=newRandomStringGenerator();MessageBox.Show(test.gennext("0zzzz","ALPHANUMERIC",'0'));我遇到的问题是这个输入0zzzz返回0zzza任何帮助将不胜感激代码很草率我知道当我得到一个工作集时,我会清理它。以上就是C#学习教程的全部内容:添加字母数字字符串。{字母数字=1,字母=2,数字eric=3}publicstaticstringIncrement(stringtext,Mode模式){vartextArr=text.ToCharArray();//添加合法字符varcharacters=newList();if(mode==Mode.AlphaNumeric||mode==Mode.Numeric)for(charc='0';c=0;i--){if(textArr[i]==characters.Last()){textArr[i]=characters.First();}else{textArr[i]=characters[characters.IndexOf(textArr[i])+1];休息;}}返回新字符串(textArr);}//测试vartest1=Increment("0001",Mode.AlphaNumeric);vartest2=Increment("aab2z",Mode.AlphaNumeric);vartest3=Increment("0009",Mode.Numeric);vartest4=Increment("zz",Mode.Alpha);vartest5=Increment("999",Mode.Numeric);vartest6=Increment("zz",Mode.Alpha);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: