C#有助于将代码int改为十六进制

C#有助于将代码int改为十六进制,c#,C#,如何减少或改进代码 private readonly StringBuilder _buffer = new StringBuilder(); public void WriteD(int i) { _buffer.Append(Encoding.UTF8.GetString(BitConverter.GetBytes(i))); } 我需要将一些数据类型(int、ushort、string等)的二进制数据写入字符串。 转换“stringToHex”后的字符串应如下所示(输入int

如何减少或改进代码

private readonly StringBuilder _buffer = new StringBuilder();

public void WriteD(int i) {
    _buffer.Append(Encoding.UTF8.GetString(BitConverter.GetBytes(i)));
}
我需要将一些数据类型(int、ushort、string等)的二进制数据写入字符串。 转换“stringToHex”后的字符串应如下所示(输入int 13和10): 0D 00 00 0A 00 00 00


谢谢

您可以使用
BitConverter.ToString(BitConverter.GetBytes(i))

请根据您的问题更新标题。。顺便说一句,到目前为止你尝试了什么?我需要在字符串中添加二进制数据,而不是十六进制。我的代码工作正常,但我认为他很难看。需要在字符串中添加4个字节表示int,2个字节表示ushort,等等。这将导致
000D000A
。它需要
X8
,然后反转字节对。谢谢,但此解决方案返回:C(11):0D-00-00(30442d302d302d302d3030),而不是C(4):*(0D 00 00)。也就是说,返回一个字符串而不是二进制。我需要添加到字符串中的是二进制数据,而不是十六进制数据。我的代码工作正常,但我觉得他很丑。
public void WriteD(int i) {
    _buffer.Append(i.ToString("X4"));
}