-3

VB6アプリケーションのこの部分をC#でコーディングしたいと思います。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

パッド付きの16進文字列にフォーマットするだけです。

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

次に、最初の2文字を最後の2文字に置き換えます。

VB6コードはsData、2で割った長さを取り、長さを16進文字列に変換し、必要に応じて0から4文字で埋めるように見えます。次に、最初の2文字を最後の2文字に置き換えます。

于 2012-06-13T21:25:24.620 に答える
1

複雑なようです-コードは何をするはずですか?文字列の長さの半分を16進数で?これはうまくいくかもしれません: sLen = (sData.length / 2).ToString("X")

于 2012-06-13T21:31:59.160 に答える