减去两个System.Runtime.InteropServices.ComTypes.FILETIME对象的最安全的方法是什么
我想知道减去两个
System.Runtime.InteropServices.ComTypes.FILETIME
对象最安全的方法是什么?我使用了以下代码,但由于低32位值中的负数,有时它会给我ArithmaticOverflow异常。我不确定用unchecked
封闭身体是否符合目的。请给我一些关于如何安全地做到这一点的建议,而不会收到任何运行时异常或CS0675警告消息。
private static UInt64 SubtractTimes(FILETIME a, FILETIME b)
{
UInt64 aInt = ((UInt64)(a.dwHighDateTime << 32)) | (UInt32)a.dwLowDateTime;
UInt64 bInt = ((UInt64)(b.dwHighDateTime << 32)) | (UInt32)b.dwLowDateTime;
return aInt - bInt;
}
没有找到相关结果
已邀请:
2 个回复
妒垮
如果需要,您可以使用DateTime.FromFileTimeUtc()转换为DateTime。
扑北爱