[英]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.