我正在寻找创建递增 ID(很像车牌号)的建议。我正在寻找的不是通常的 0-9 int32 类型计数器,而是序列中每个字符的 0-9 然后 AZ。
所以我有可能拥有一个 6 字符 ID,即 '2A3DC3' 这有可能为可用值提供更大的深度。
问问题
271 次
2 回答
0
这是一些按顺序执行的代码:
var allDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var @base = allDigits.Length;
var a = new StringBuilder();
var start = 2176782336; // minimum 6 digit base36 number
var end = 76187381759; // maximum 6 digit base36 number
Enumerable.Range(1, 1000)
.Select(n => {
int r;
var d = n + start;
a.Clear();
do
{
r = (int)(d % @base);
d = d / @base;
a.Insert(0, allDigits[r]);
} while(d >= @base);
a.Insert(0, allDigits[r]);
return a.ToString();
})
.Dump();
于 2013-09-12T02:49:08.677 回答