2011-06-01 96 views
2

我想将旧的VB.NET代码转换为C#,我不确定当前行以及它的真正含义。&H57代表什么以及如何将它翻译为C#?

VB.NET:

Const REQUEST_EFI As Byte = &H57 

这会是什么在C#中?我想:

const byte request_efi = &H57; 

但它说

“H57不是当前 上下文的一部分”。

首先,& H57怎么是一个字节?其次,除了串联之外,似乎&运算符在此上下文中具有不同的表示形式。第三显然是,我怎么重新写这个C#?大声笑。谢谢!

回答

5

我想这是一个十六进制数。这个语法的语法是C#中的0x57

3

&H57是表示在VB进制数的方式,所以C#当量将是:

const byte request_efi = 0x57; 
2

&ħ##是VB如何表示十六进制数字。在这种情况下,它是十进制的十六进制数字57或87。在C#相当于是:

const byte request_efi = 0x57; 
1

它的87 使用const byte request_efi = 0x57;const byte request_efi = 87;

-1

十六进制表示这是字母W的哭出声来

+0

其实事实并非如此。原始的VB代码将十六进制值存储在“Byte”中。 VB6和VB.net都将char作为Unicode存储 - 每个字符2个字节。即使字符代码排列了前128个字符,它们也不使用ASCII。 – 2011-06-02 07:45:44

相关问题