-3

我想用 c# 编写 VB6 应用程序的这一部分。如何将 long 更改为 Hex 值?

Public Function longToHex(l As Long) As String
    longToHex = Hex(l)
    If Len(longToHex) < 4 Then longToHex = String(4 - Len(longToHex), "0") & longToHex
    longToHex = Right(longToHex, 2) & Left(longToHex, 2)
End Function
4

2 回答 2

6

只需格式化为填充的十六进制字符串:

string.Format("{0:X4}", myLong.ToString().Length / 2)

然后将前两个字符与后两个字符转置。

VB6 代码似乎将长度sData除以 2,然后将长度转换为十六进制字符串,并在需要时用 0 填充到 4 个字符。然后它将前两个字符与后两个字符转置。

于 2012-06-13T21:25:24.620 回答
1

看起来很复杂——代码应该做什么?十六进制字符串长度的一半?这可能有效: sLen = (sData.length / 2).ToString("X")

于 2012-06-13T21:31:59.160 回答