自动生成的字母数字唯一的ID用C# [英] Auto Generate alphanumeric Unique Id with C#

查看:279
本文介绍了自动生成的字母数字唯一的ID用C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

总字符串长度为5个字符

我有一种情况,ID以

A0001和A9999结束,然后 B0001至B9999,直到F0001到f9999

之后

FA001到FA999再 FB001到FB999,直到.... FFFF9

请提出关于如何创建这种格式的任何想法。

解决方案

 公共静态的IEnumerable<字符串>号码()
{
    返回Enumerable.Range(0xA0000,0xFFFF9  -  0xA0000 + 1)的
        。选择(X => x.ToString(X));
}
 

您也可以有一个ID生成器类:

 公共类IdGenerator
{
    私人const int的最小值= 0xA0000;
    私人const int的最大值= 0xFFFF9;
    私人诠释_value =最小值 -  1;

    公共字符串NextId()
    {
        如果(_value<最大)
        {
            _value ++;
        }
        其他
        {
            _value =最小;
        }
        返回_value.ToString(X);
    }
}
 

Total string length is 5 chars

I have a scenario, ID starts with

A0001 and ends with A9999 then B0001 to B9999 until F0001 to f9999

after that

FA001 to FA999 then FB001 to FB999 until ....FFFF9

Please suggest any idea on how to create this format.

解决方案

public static IEnumerable<string> Numbers()
{
    return Enumerable.Range(0xA0000, 0xFFFF9 - 0xA0000 + 1)
        .Select(x => x.ToString("X"));
}

You could also have an id generator class:

public class IdGenerator
{
    private const int Min = 0xA0000;
    private const int Max = 0xFFFF9;
    private int _value = Min - 1;

    public string NextId()
    {
        if (_value < Max)
        {
            _value++;
        }
        else
        {
            _value = Min;
        }
        return _value.ToString("X");
    }
}

这篇关于自动生成的字母数字唯一的ID用C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆