【发布时间】:2012-07-10 10:29:29
【问题描述】:
除非我使用 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
}
}
【问题讨论】:
标签: c# vb.net warnings vb.net-to-c#