rendered paste bodypublic ArrayList ExpandAlnumRange(string startVal, string endVal){
if(startVal.Length!=endVal.Length)
return null;
if(startVal.Length>1){
ArrayList ret=new ArrayList();
string startBegin=startVal.Substring(0,startVal.Length-1);
string startEnd=startVal.Substring(startVal.Length-1,1);
string endBegin=endVal.Substring(0,endVal.Length-1);
string endEnd=endVal.Substring(endVal.Length-1,1);
ArrayList endRange=ExpandAlnumRange(startEnd, endEnd);
foreach(string beginText in ExpandAlnumRange(startBegin, endBegin)){
foreach(string endText in endRange){
ret.Add(beginText+endText);
}
}
return ret;
}else{
ArrayList ret=new ArrayList();
char start=startVal[0];
char end=endVal[0];
if(end<start)
return null;
char curVal=start;
do{
ret.Add(curVal.ToString());
if(curVal==end)
break;
curVal++;
if(curVal>'Z' && curVal<'0')
curVal='A';
else if(curVal>'9' && curVal<'A')
curVal='0';
}while(true);
//ret.Add(curVal.ToString());
return ret;
}
}