C#:Guid.NewGuid()和DateTime.Now该选择哪个???

直接上代码:

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("正在计算Guid.....");

            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();

            for (int i = 0; i < 10000000; i++)
            {
                Guid guid = Guid.NewGuid();
            }
            stopwatch.Stop();

            TimeSpan t = stopwatch.Elapsed;

            string totaltime = String.Format("{0:00}:{1:00}:{2:00}:{3:00}", t.Hours, t.Minutes, t.Seconds, t.Milliseconds);
            Console.WriteLine("使用Guid时,总用时:{0}", totaltime);//2s

            //----------------------------------------------------------------------------------//

            Console.WriteLine("正在计算DateTime.....");
            stopwatch.Start();

            for (int i = 0; i < 10000000; i++)
            {
                DateTime dateTime = DateTime.Now;
            }
            stopwatch.Stop();

            TimeSpan t2 = stopwatch.Elapsed;

            string totaltime2 = String.Format("{0:00}:{1:00}:{2:00}:{3:00}", t2.Hours, t2.Minutes, t2.Seconds, t2.Milliseconds);
            Console.WriteLine("使用DateTime时,总用时:{0}", totaltime2);//3s

            Console.ReadKey();
        }
    }
}

千万级别差一秒,再加一个零,差5s左右,所以用Guid比较合理!

 

转载于:https://www.cnblogs.com/stickcsharp/p/11204223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值