除非我使用 HTML,否则我通常不会处理十六进制数字,因此我真的没有太多转换涉及它们的代码的经验。本质上,这里的问题是我正在将一些类从 VB.NET 转换为 C#.NET,并且有几个地方 VB 版本将一些值与十六进制常量进行比较。当我将该值转换为其 C# 等效项时,我从 Visual Studio 收到以下“警告”消息:
与整型常数的比较是无用的,该常数超出了“int”类型的范围
现在,显然 VB 版本没有这个警告,或者我不会费心问这个问题。我会注意到,如果我将要比较的属性转换为 Int64,警告就会消失。
我想知道的是我是否做对了,如果我不应该放弃整个比较,因为它显然不适用于现实世界的场景?
VB代码:
Catch ex As COMException
If bInsert AndAlso ex.ErrorCode = &H80042776 Then
' DO THINGS
End Try
C#代码:
catch (COMException come)
{
if (insert && come.ErrorCode == 0x80042776)
{
// DO THINGS
}
}