我的任务是将旧的 VB6 程序转换为 C#。我在移植时遇到问题的一个功能是从从二进制文件读取的文件中计算出生日期:
.BirthDate = CDate((CLng(recPatient.birthDateByte2) * 256) +
(recPatient.birthDateByte1 + 366))
我能找到的唯一类似的功能是:
DateTime BirthDate = DateTime.ToDateTime((long)recPatient.birthDateByte2) * 256)
+ (recPatient.birthDateByte1 + 366));
但是ToDateTime(long)
只返回一个InvalidCastException
.
现在我可以手动构建字符串,但在 VB6 的任何地方都找不到任何文档CDate(long)
。
我究竟做错了什么?