字节数组转换为字符串c#

字节数组转换为字符串c#,c#,string,byte,C#,String,Byte,我有一个字节数组 bytes = {"0X50","0X04","0X00","0X0A"} 我想把这个数组转换成字符串,如下所示 string a = "50-04-00-0A" 我如何用c#来修复它? 谢谢。如果您有字节数组(而不是问题中的字符串),您可以使用十六进制(“X”或“X”): 你试过什么?你到底在说什么?这是一个由四个字符串组成的数组,不是一个字节数组。我有一个byte[]变量

我有一个字节数组

bytes = {"0X50","0X04","0X00","0X0A"}
我想把这个数组转换成字符串,如下所示

string a = "50-04-00-0A"
我如何用c#来修复它?
谢谢。

如果您有字节数组(而不是问题中的字符串),您可以使用十六进制(“X”或“X”):


你试过什么?你到底在说什么?这是一个由四个字符串组成的数组,不是一个字节数组。我有一个byte[]变量。我的榜样;字节[0]=“0X50”,字节[1]=“0X04”。。我想转换为字符串,但如上所示。如果您确实有一个字节数组,它将如下所示:
byte[]bytes=new byte[]{0X50,0X04,0X00,0X0A}
0x50
只是将其写成十六进制格式的约定。因此,您似乎希望将其转换为保留十六进制格式的字符串,但去掉
0x
部分。我说的对吗?如果变量bytes被声明为byte[],那么就不能像上面所示那样在其中放入字符串。请修复上面的初始化,可能您的问题可以重新启动以获得所需的输出,您应该有“X2”
byte[] bytes = new byte[] { 0x50, 0x04, 0x00, 0x0A};
var strings = bytes.Select(b => b.ToString("X"));
Console.WriteLine(string.Join("-", strings)); // prints 50-4-0-A