[英]C# UInt64 subtract issue
为什么 UInt64 数据类型的减法有时会发生错误。 我减少时间跨度的秒数,结果应该在 1 - 10 之间,但是系统的结果可以是数百万甚至数十亿? 虫子?
private bool isReplayRequest(string kode, string rTs)
{
if (System.Runtime.Caching.MemoryCache.Default.Contains(kode))
{
return true;
}
DateTime eStart = new DateTime(1970, 01, 01, 0, 0, 0, 0, DateTimeKind.Utc);
TimeSpan cTs = DateTime.UtcNow - eStart;
var stotalSeconds = Convert.ToUInt64(cTs.TotalSeconds);
var rTotalSeconds = Convert.ToUInt64(rTs);
if ((stotalSeconds - rTotalSeconds) > maxSeconds)
{
return true;
}
.... etc ....
}
在线问题 (stotalSeconds - rTotalSeconds)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.