C# IdHelper 系统编码系统序号帮助类
C# 全选
/// <summary>
/// 系统编码帮助类
/// </summary>
public class IdHelper
{
/// <summary>
/// 获取时间序号,如:20231024152456756000
/// </summary>
/// <param name="randomSuffix">尾部随机数长度</param>
/// <returns></returns>
public static string GetTimeId(int randomSuffix = 3)
{
var str = DateTime.Now.ToString("yyyyMMddHHmmssfff");
var tmp = "";
for (int i = 1; i <= randomSuffix; i++) tmp += "9";
var value = new Random().Next(1, Int32.Parse(tmp));
return str + value;
}
/// <summary>
/// 获取GUID序号,自动转小写
/// </summary>
/// <returns></returns>
public static string GetGuid()
{
return Guid.NewGuid().ToString().ToLower();
}
/// <summary>
/// 将GUID转换为最长16位的序号字符串
/// </summary>
/// <param name="removeZero">移除后面的000,d6acd6cb8621a000==>d6acd6cb8621a</param>
/// <returns></returns>
public static string GetShortGuid(bool removeZero = true)
{
long result = 1;
int index = 1;
byte[] bs = Guid.NewGuid().ToByteArray();
foreach (byte b in bs)
{
result *= ((int)b + index * 2);
index++;
}
var hex = string.Format("{0:x}", result);
//d6acd6cb8621a000==>d6acd6cb8621a
if (removeZero)//移除后面的000
{
while (hex.Substring(hex.Length - 1, 1) == "0")
hex = hex.Substring(0, hex.Length - 1);
}
return hex;
}
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网