【发布时间】:2015-05-14 07:34:07
【问题描述】:
顺序应该是这样的。
A-Z,AA-AZ,BA-BZ,CA-CZ,.......,ZA-ZZ
ZZ 之后应该从 AAA 开始。
然后 AAA 到 ZZZ,然后 AAAA 到 ZZZZ 等等。
此序列非常类似于 Excel 工作表。
编辑:添加我的代码
private void SequenceGenerator()
{
var numAlpha = new Regex("(?<Numeric>[0-9]*)(?<Alpha>[a-zA-Z]*)");
var match = numAlpha.Match(txtBNo.Text);
var alpha = match.Groups["Alpha"].Value;
var num = Convert.ToInt32(match.Groups["Numeric"].Value);
lastChar = alpha.Substring(alpha.Length - 1);
if (lastChar=="Z")
{
lastChar = "A";
txtBNo.Text = num.ToString() + "A" + alpha.Substring(0, alpha.Length - 1) + lastChar;
}
else
{
txtBNo.Text = num.ToString() + alpha.Substring(0, alpha.Length - 1) + Convert.ToChar(Convert.ToInt32(Convert.ToChar(lastChar)) + 1);
}
}
这就是我所做的。但是,我知道这是一个错误的逻辑。
谢谢。
【问题讨论】:
-
你有没有尝试过这个工作?
-
如果遇到更具体的问题,您不妨试一试,然后再回来?
-
您将数字 0...x 转换为 base-26(符号 A-Z)。解决了:)
标签: c# sequences alphabetical sequencing sequence-generators