src/Library/NetPro.Utility/Helpers/IdHelper.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using IdGen;
using System;
using System.Globalization;
using System.Numerics;
using System.Security.Cryptography;
using System.Text;

namespace NetPro
{
    /// <summary>
    /// Id生成器
    /// </summary>
    public static class IdHelper
    {
        /// <summary>
        /// Id
        /// </summary>
        private static string _id;

        /// <summary>
        /// 设置Id
        /// </summary>
        /// <param name="id">Id</param>
        public static void SetId(string id)
        {
            _id = id;
        }

        /// <summary>
        /// 重置Id
        /// </summary>
        public static void Reset()
        {
            _id = null;
        }

        /// <summary>
        /// 创建Id
        /// </summary>
        public static string ObjectId()
        {
            return string.IsNullOrWhiteSpace(_id) ? Utility.Helpers.Internal.ObjectId.GenerateNewStringId() : _id;
        }

        /// <summary>
        /// 用Guid创建Id,去掉分隔符
        /// </summary>
        public static string Guid()
        {
            return string.IsNullOrWhiteSpace(_id) ? System.Guid.NewGuid().ToString("N") : _id;
        }

        /// <summary>
        /// 推特Snowflake算法C#版
        /// 详情了解https://github.com/RobThree/IdGen
        /// </summary>
        /// <returns></returns>
        public static long NewId()
        {
            //如id压力增大,后续移至NetPro.Core中,apollo配置
后面还有 72 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。