0

我在javascript中有以下行:

c = Number(string_1.charCodeAt(i) ^ string_2.charCodeAt(u)).toString(16);

我需要用 c# 重写它,这是我到目前为止得到的:

string c = (Convert.ToChar(string_1[i]) ^ Convert.ToChar(string_2[u])).ToString(16);

我无法在 ToString 方法中输入基数值。有什么建议我该怎么做?谢谢

4

3 回答 3

2

您可以使用Convert.ToString以不同的基数写出一个值(请注意,仅支持某些基数;16 是其中之一,有关详细信息,请参阅文档):

int i = 16;
var str = Convert.ToString(i, 16);
于 2013-09-24T16:54:03.807 回答
0

只需将其更改.ToString("X");为十六进制格式说明符即可。

于 2013-09-24T16:57:42.860 回答
0

或者更简单,如果您正在寻找以 16 为基数(又名十六进制):

int x = 12345 ;
string v = string.Format( "0x{0:X4}" , x ) ;

会给你

v = "0x3039"
于 2013-09-24T17:00:08.450 回答